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 order by 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执行完数据直接全出来,如果你用分次的话你还得对数据进行处理,排序,这样肯定慢

SQL数据库查询中满足任何一个条件,使用OR还是多条语句效率高?
当然是一条语句效率高 因为一条语句 也就意味着只对该表中的数据执行一次从头到尾的查询 三条语句的话,要对该表数据执行三次查询

sql in好还是or好,我的条件有五六个以上,但用or的话感觉太长了,不知道...
网页链接作者结论:总体来说,In的效率更高一些。

数据库and和or的用法区别
而"or"运算符在SQL中则用于放宽匹配条件。当查询旨在找到至少满足一个条件的记录时,"or"特别有用。它允许SQL返回任何满足条件之一的记录,从而增加了记录的检索范围。在数据库操作中,正确使用"and"与"or"不仅有助于提高查询效率,还能确保数据检索的准确性和针对性。

SQL语句中 in和or的区别
1、in:in适合用于子查询表数据比父查询表数据多的情况。2、or:or适合用于子查询表数据比父查询表数据少的情况。三、执行效率不同 1、in:在没有索引的情况下,随着in后面的数据量越多,in的执行效率不会有太大的下降。2、or:在没有索引的情况下,随着or后面的数据量越多,or的执行效率会有明...

SQL中的多条件查询WHERE...AND,OR和NOT
在SQL查询中,多条件查询通过使用关键词AND、OR和NOT来实现复杂的检索需求。AND和OR用于连接多个查询条件,而NOT则用于排除特定条件。AND语法结构表示同时满足多个条件,如查询同时在中国和意大利居住的客户信息。OR语法结构表示只要满足其中一个条件即可,例如找出中国或意大利的客户信息。NOT语法结构表示排除...

sql语句中in和or的区别
用法:在复杂的查询中,可以使用OR运算符结合其他条件来过滤记录。当你想基于多个条件中的任何一个来检索记录时,可以使用OR运算符。示例:假设有一个包含学生成绩的表,你想查询成绩为90分以上的学生或者姓为“张”的学生,可以使用如下SQL语句结合AND运算符和OR运算符:`SELECT * FROM 学生...

sql中查询中使用的or条件真的很慢吗
不能说慢。 必要的可以用前提是加索引的 。 如果你一个表数据几百万条 你用or 没索引啥也没有 这种情况下用or 会导致全表扫描很慢 加上索引就好

SQL查询中用什么方法可以提高in的效率 或者换成什么
1、对于索引列来最好使用union all,因复杂的查询【包含运算等】将使or、in放弃索引而全表扫描,除非你能确定or、in会使用索引。2、对于只有非索引字段来说你就老老实实的用or 或者in,因为 非索引字段本来要全表扫描而union all 只成倍增加表扫描的次数。3、对于及有索引字段【索引字段有效】又...

sql 里or 如何使用
SQL中的OR意思就是其中一个条件满足都是可以得出结果的意思。和AND完全不一样(and)是所有条件一起满足才行。在SQL中对于同一字段使用OR系统会报错的。可以使用IN来代替。只需要将clid=33 or clid=40clid in(33,40)。结构化查询语言(英文简称:SQL)是一种特殊目的的编程语言,是一种数据库查询和...

软件测试|SQL AND和OR运算符解析
在SQL查询语言中,AND和OR作为基本逻辑运算符,起着至关重要的作用。它们用于组合WHERE子句中的条件,以便更精准地筛选数据。AND要求所有条件必须满足,而OR则只要满足其中一个即可。例如:AND: (condition1 AND condition2) 只有当condition1和condition2同时为真时,数据才会被选取。OR: (condition1 OR ...

相似回答