2 lzl  lzl lzl__lzl 于 2016.04.28 21:33 提问

sql多条件查询,如何高效组合多个条件

我想查询数据库,是条件查询,但是这个条件有可能比较多,比如有几百个条件,如何写一条sql语句能高效查询数据库中满足这些条件的数据呢?
例如,我想查询userid字段为a,b,c,d……等人的数据,这样写sql感觉效率很低
select * from TABLE where USERID=a or USERID= b or USERID=c……
有什么方法能比较好的满足查询要求呢?

4个回答

DamonDown
DamonDown   2016.04.28 21:40

用in不能实现吗?比如 select * from TABLE where USERID in(a,b,c,d……)

lzl__lzl
lzl__lzl 用in的话,还是要把条件一一列入的啊,这样可能会得到一条非常非常长的sql语句,不知道sql有没有什么机制能解决有很多条件的查询语句
大约 2 年之前 回复
CSDNXIAON
CSDNXIAON   2016.04.28 21:42

SQL多条件查询语句
SQL的多条件查询语句
sql多条件查询语句
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

Joson_Chou
Joson_Chou   2016.04.29 09:08

楼主可以看看sql语句的优化,不过我具体忘了。

huangwenkangz
huangwenkangz   2016.04.29 17:05

in是一种办法,因为你in里面的是单纯的数字所以效率不会低,
也可以把a,b,c,d维护到B表
select * from table_a a,table_b b where a.userid = b.userid

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
SQL如何构建多条件组合查询,而且不降低效率
我们知道,在一般的信息系统中,特别是主要信息表,如客户基本信息,工单受理主界面,用户会用到多条件组合查询。QQ群请加: 6539042(powerbuilder11&SQL)  我看过一些系统,有的人是采用将一个表的栏位给用户选择,然后用户可以针对某一栏位来下条件,但是这违背多条件组合查询的需求初衷。多条件组合的需求是:用户在不同的视觉情况下,可以使用某个条件或者忽略某个条件,而且前面讲到
sqlserver多条件查询select语句合并
下面这种方法是灵活使用了and 、or、( )等的组合使用,也就是说,多条件查询如果是使用这种方法,就是要将各个条件分析,将能够组合的条件合并,如果一个条件中又包含了多个条件,则要将这多个条件使用“()”括起来。     select probianhao,proprojectname from project_manager ma wherema.proprojectrunning=0 a
多项查询条件组合下的SQL语句生成
        作了一年的WEB应用,在这里面无疑核心就是数据的出出进进。而在作数据条件查询时,经常会遇到多项查询条件的组合,对于这种情况下SQL语句的生成经过这么长时间的实践加思考,最终给自己定下了一个规范性的编写方法。举例如下:现有数据库表,表名:student,表内字段如下:ID,GENDER,NAME,NUM,CLASSID。有时会遇到的查询条件会是GENDER,NAME,NU
多条件组合查询,sql语句连接
多个条件组合查询,如果某个条件为空,则舍弃该条件 select @RCount=COUNT(*)  FROM t_user t LEFT JOIN  dbo.t_UserYearScore y ON t.UserId=y.UserId INNER JOIN dbo.t_Organization o ON t.OrgNo=o.OrgNo WHERE t.Name LIKE '%'+ isnul
C# SQL多条件查询拼接技巧
本文转载http://www.cnblogs.com/zfanlong1314/p/3874910.html #region 多条件搜索时,使用List集合来拼接条件(拼接Sql) StringBuilder sql = new StringBuilder("select * from PhoneNum"); List wheres = new List(
【VB】SQL多条件查询(机房问题)
vb多条件sql查询
多个条件的查询建立索引
索引规则 1、表的主键、外键必须有索引; 2、数据量超过300的表应该有索引; 3、经常与其他表进行连接的表,在连接字段上应该建立索引; 4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引; 5、索引应该建在选择性高的字段上; 6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引; 7、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:
C#实现多条件组合查询
实现多条件组合进行查询。这个问题的关键在条件的整合上。附有源代码。
Linq 多条件查询组合问题
借助老外写的一个扩展表达式的类,可以把上篇中的代码写得更优雅 这是PredicateBuilder的源文件 public static class PredicateBuilder { public static Expression> True () { return f => true; } public static Expression> Fals
Mybatis中动态sql(多条件查询)
动态SQL指:通过mtbatis提供的各种标签实现动态拼接sql语句 例如: 动态SQL语句,多条件查询--> select id="findSomeByMore" resultType="userInfoModel" parameterType="hashmap"> select * from userinfo -- (where标签自动去掉满足条件的第一