ALTER PROCEDURE [dbo].[example1]
(
@booker varchar(100)
)
AS
declare @str varchar(1000) 
set @str='select * from tb_itregister where booker in(' + @booker + ')'
execute (@str)

调用:
string booker = "a,b";
        booker = booker.Replace(",", "','");
        booker = "'" + booker + "'";

/************************************************************
     问题描述: id值可能有数千个之多,怎么提高效率?
     例子:select * from table1 where id in (1,3,6,10,...,8000) and type = 1
 ************************************************************/

--例如:
    SELECT *
    FROM   tb
    WHERE  id IN (1, 2, 3, 4, ........)
           AND NAME = 'best'    
     
 --1.将括号的条件做成变量
    DECLARE @str VARCHAR(4000) 
    SET @str = '1,2,3,4,5.......'
     
 --2.然后将@s拆分后插入临时表
    CREATE TABLE #t
    (
        id VARCHAR(10)
    ) 
    DECLARE @i    INT 
    DECLARE @len  INT 
    SET @i = 1 
    WHILE @i < LEN(@str + ',')
    BEGIN
        INSERT #t
        SELECT SUBSTRING(@str + ',', @i, CHARINDEX(',', @str + ',', @i) -@i)
        
        SET @i = CHARINDEX(',', @str + ',', @i) + 1
    END

--3利用临时表和原表进行连接取值
    SELECT k.* 
    FROM   tb k
           INNER JOIN #t p
                ON  p.id = k.id
    WHERE  NAME = 'best'

sql中带in条件的查询及提高效率相关推荐

  1. Power BI中带筛选条件的查询功能如何实现

    一.问题描述 在数据分析,有时我们需要查找销售金额最大客户的姓名,或者最早的销售订单的编号,或者销售金额最大的10名客户的总金额等,类似这种带有筛选条件的查询功能,在Power BI中该如何实现呢?下 ...

  2. SQL 中的多条件查询

    在应用程序开发中,多条件查询是个经常遇到的情况,最简单最麻烦的方法是把所有的可能情况都考虑到,但是无疑是繁琐的,而且很容易漏掉可能的情形,下面是SQL语句实现多条件查询的情况 select * fro ...

  3. SQL如何构建多条件组合查询,而且不降低效率

    我们知道,在一般的信息系统中,特别是主要信息表,如客户基本信息,工单受理主界面,用户会用到多条件组合查询. 我看过一些系统,有的人是采用将一个表的栏位给用户选择,然后用户可以针对某一栏位来下条件,但是 ...

  4. 【SQL】SQL中的IN方法:查询多种状态值

    一.起因 因为要查询两种状态的值,如果用普通的查询,需要查两次,再把两次查询的值放到一个集合中,再去重,这样查找非常麻烦,所以决定优化,使用SQL中的IN查询: SELECT column_name( ...

  5. MYSQL数据库初窥门径, SQL语句地熟练使用, 图形化界面提高效率

    目录 一. 前文简介 二. MYSQL简介 2.1 什么是数据库 2.2数据库地特点以及作用 三.MYSQL基础操作(SQL语句) 3.1连接数据库 3.2数据库的语法特点,以及数据库必会操作 数据操 ...

  6. java中多个条件模糊查询,带条件的查询—模糊查询

    模糊查询(都是针对字符串操作的) 模糊查询有点类似于正则表达式,但是他没有正则表达式那么强大. 通配符:  _   . % .   []  .   ^ _  表示任意的单个字符串. select * ...

  7. mysql 设置的黑名单_在SQL中实现多条件任意组合黑名单的方法

    最近的一个项目中,在对故障工单进行自动语音督办的时候,需要在某个时段对某种组合条件下的工单不督办.如在实时督办中,对所有区域告警ID为"FF--1057361341"工单,白天不督 ...

  8. sql 中or与in的查询效率对比

    原文链接:http://blog.chinaunix.net/uid-20639775-id-3416737.html 在网上一直看到的是or和in的效率没啥区别,一直也感觉是这样,前几天刚好在看&l ...

  9. access在sql中横向求和_使用查询对数据求和

    准备一些示例数据 本文中的操作方法部分提供了示例数据的表. 操作步骤使用示例表, 以帮助你了解聚合函数的工作原理. 如果愿意, 您可以选择将示例表添加到新的或现有的数据库中. Access 提供了几种 ...

最新文章

  1. Android中Activity共享变量的另一方法:Application context
  2. C# Winform应用程序占用内存较大解决方法整理(转)
  3. 什么是Unwind segues,您如何使用它们?
  4. inline修饰虚函数问题
  5. 区县政府网站群建设新思路
  6. 计算机网络中的物理层
  7. 你能打动客户的C++理由,一定要先说服自己相信
  8. 关于ORACLE数据传输加密的介绍
  9. Android 即时通讯开发
  10. memset 函数使用
  11. Eclipse安装中文简体语言包(官方下载安装教程)
  12. HTML5从入门到精通笔记
  13. 用python做曲_谁在用 python 弹奏一曲《菊花台》
  14. Android计算器横屏,如何将华为手机的计算器横屏转换成竖屏
  15. 投资 2 -- 新股民必须树立正确的价值观
  16. 【AcWing19】【LeetCode】DFS - 46/47/39/77/78/216/17/131/93/90/491
  17. Paper reading (二十二):Integrated omics: tools, advances and future approaches
  18. navicat哪个版本支持mysql8_Navicat连接MySQL8.0亲测有效
  19. 聊聊CentOS停止维护,要我说这是件大好事!
  20. MOSFET管基本原理与应用

热门文章

  1. Hadoop,Hbase伪集群安装步骤
  2. 三角传输的在链路均衡项目中的灵活应用
  3. (六)关于beetlsql版本(分支)的说明
  4. 《交互式程序设计 第2版》一3.11 小结
  5. 【转】在 2016 年做 PHP 开发是一种什么样的体验?(一)
  6. 922. 按奇偶排序数组 II
  7. posix 线程(一)
  8. php天津旅游设计网站作品
  9. ​php mysql 图书管理系统网页毕业设计成品
  10. c语言中缀表达式求值_[源码和文档分享]基于C++的表达式计算求值