sql中带in条件的查询及提高效率
(
@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条件的查询及提高效率相关推荐
- Power BI中带筛选条件的查询功能如何实现
一.问题描述 在数据分析,有时我们需要查找销售金额最大客户的姓名,或者最早的销售订单的编号,或者销售金额最大的10名客户的总金额等,类似这种带有筛选条件的查询功能,在Power BI中该如何实现呢?下 ...
- SQL 中的多条件查询
在应用程序开发中,多条件查询是个经常遇到的情况,最简单最麻烦的方法是把所有的可能情况都考虑到,但是无疑是繁琐的,而且很容易漏掉可能的情形,下面是SQL语句实现多条件查询的情况 select * fro ...
- SQL如何构建多条件组合查询,而且不降低效率
我们知道,在一般的信息系统中,特别是主要信息表,如客户基本信息,工单受理主界面,用户会用到多条件组合查询. 我看过一些系统,有的人是采用将一个表的栏位给用户选择,然后用户可以针对某一栏位来下条件,但是 ...
- 【SQL】SQL中的IN方法:查询多种状态值
一.起因 因为要查询两种状态的值,如果用普通的查询,需要查两次,再把两次查询的值放到一个集合中,再去重,这样查找非常麻烦,所以决定优化,使用SQL中的IN查询: SELECT column_name( ...
- MYSQL数据库初窥门径, SQL语句地熟练使用, 图形化界面提高效率
目录 一. 前文简介 二. MYSQL简介 2.1 什么是数据库 2.2数据库地特点以及作用 三.MYSQL基础操作(SQL语句) 3.1连接数据库 3.2数据库的语法特点,以及数据库必会操作 数据操 ...
- java中多个条件模糊查询,带条件的查询—模糊查询
模糊查询(都是针对字符串操作的) 模糊查询有点类似于正则表达式,但是他没有正则表达式那么强大. 通配符: _ . % . [] . ^ _ 表示任意的单个字符串. select * ...
- mysql 设置的黑名单_在SQL中实现多条件任意组合黑名单的方法
最近的一个项目中,在对故障工单进行自动语音督办的时候,需要在某个时段对某种组合条件下的工单不督办.如在实时督办中,对所有区域告警ID为"FF--1057361341"工单,白天不督 ...
- sql 中or与in的查询效率对比
原文链接:http://blog.chinaunix.net/uid-20639775-id-3416737.html 在网上一直看到的是or和in的效率没啥区别,一直也感觉是这样,前几天刚好在看&l ...
- access在sql中横向求和_使用查询对数据求和
准备一些示例数据 本文中的操作方法部分提供了示例数据的表. 操作步骤使用示例表, 以帮助你了解聚合函数的工作原理. 如果愿意, 您可以选择将示例表添加到新的或现有的数据库中. Access 提供了几种 ...
最新文章
- Android中Activity共享变量的另一方法:Application context
- C# Winform应用程序占用内存较大解决方法整理(转)
- 什么是Unwind segues,您如何使用它们?
- inline修饰虚函数问题
- 区县政府网站群建设新思路
- 计算机网络中的物理层
- 你能打动客户的C++理由,一定要先说服自己相信
- 关于ORACLE数据传输加密的介绍
- Android 即时通讯开发
- memset 函数使用
- Eclipse安装中文简体语言包(官方下载安装教程)
- HTML5从入门到精通笔记
- 用python做曲_谁在用 python 弹奏一曲《菊花台》
- Android计算器横屏,如何将华为手机的计算器横屏转换成竖屏
- 投资 2 -- 新股民必须树立正确的价值观
- 【AcWing19】【LeetCode】DFS - 46/47/39/77/78/216/17/131/93/90/491
- Paper reading (二十二):Integrated omics: tools, advances and future approaches
- navicat哪个版本支持mysql8_Navicat连接MySQL8.0亲测有效
- 聊聊CentOS停止维护,要我说这是件大好事!
- MOSFET管基本原理与应用