SQL数据库查询中满足任何一个条件,使用OR还是多条语句效率高?

SELECT * FROM TEST_ONE where name='@info' or address='@info' or age='@info'
还是么次执行
SELECT * FROM TEST_ONE where name='@info'
SELECT * FROM TEST_ONE where address='@info'
SELECT * FROM TEST_ONE where age='@info'

当然是一条语句效率高

因为一条语句 也就意味着只对该表中的数据执行一次从头到尾的查询

三条语句的话,要对该表数据执行三次查询
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-17
三条语句不仅效率低
并且还有一个缺点:冗余的数据

因为可能有一行, 既满足 name='@info',又满足 address='@info' 。
这两个语句会把这同一行都取出一份, 还需要自己手工去排除掉。

所以还是推荐前面的用OR连接的语句。本回答被提问者采纳
第2个回答  推荐于2017-09-07
SQL中可以以多个AND或OR,当条件混乱时,可以使用括号。
如a and (b or c)这样的。
补充语句可以修改为:
sql="select top 16 * from tb_goods where id not in (select top "+(nowPage*16)+" id from tb_goods where classes='"+classes2+"' and price<=500 id asc)and classes='"+classes2+"' and price<=500 order by id asc";
第3个回答  2010-09-29
执行一条语句, 比执行3条语句.

显然是 一句 效率高.

除非你是 3个 查询条件都一样, 只是 参数不一样.
那么 可能 3句 UNION ALL 的时候, 速度会比 IN 快一点。
第4个回答  2010-09-29
用or ,因为用or执行完数据直接全出来,如果你用分次的话你还得对数据进行处理,排序,这样肯定慢

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网