知行编程网知行编程网  2022-12-28 08:30 知行编程网 隐藏边栏  8 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于如何使用mysql查询where条件里的or和and的相关知识,包括sql语句where条件in,以及mysql in 索引有效么这些编程知识,希望对大家有参考作用。

我们为什么要关注这个内容?因为很多朋友会一头雾水,或者就是不知道怎么组合使用。今天小编就给大家说说这部分的干货,让大家半分钟看懂。

where条件下如何使用mysql查询or and and and



AND、OR运算符的组合使用





WHERE子句中,通过AND、OR运算符可以同时连接多个条件,当然AND、OR运算符也可以同时使用。但是当AND、OR运算符同时存在时,其优先级如何确定呢?与大多数语言一样,SQL语言认为AND运算符的运算级别要高于OR运算符。即当出现

condition1
OR condition2
AND condition3


时,其运算实际上是等价于

condition1
OR (condition2 AND condition3)



因此,

AND、OR运算符需要同时使用时,一定要注意运算符的优先级。



实例










同时使用

AND、OR运算符实现查询



如果需要查询所有计算机系和生物系,工资收入(

SAL)超过1000的教师的姓名(TNAME)、系(DNAME)、工资(SAL)信息。如果采用如下SQL代码:

SELECT TNAME, DNAME, SAL
FROM TEACHER
WHERE DNAME='计算机'
OR DNAME='生物'
AND SAL>1000
ORDER BY SAL



很显然没有得到预期的计算结果,这是因为

AND运算符的运算级别要高于OR运算符,代码实际上实现的查询是计算机系的所有教师以及生物系中的工资大于1000的教师的相关信息。要实现例中需要的查询结果,正确的SQL代码为:

SELECT TNAME, DNAME, SAL
FROM TEACHER
WHERE (DNAME='计算机' OR DNAME='生物')
AND SAL>1000
ORDER BY SAL



可以发现,当在

OR运算符连接的两个条件加上括号( )后,得到了需要的查询结果。这是因为,括号( )的优先级高于AND运算符,执行过程就先于AND运算符。



注意




OR运算符和AND运算符同时运用时,建议用户不要考虑其默认的优先级顺序,而是采用括号( )来实现需要的执行顺序,这样可以增强程序的可读性。



如需了解更多

python实用知识,点击进入

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享