十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
小编给大家分享一下怎样使用mysql查询where条件里的or和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运算符同时运用时,建议用户不要考虑其默认的优先级顺序,而是采用括号( )来实现需要的执行顺序,这样可以增强程序的可读性。
看完了这篇文章,相信你对怎样使用mysql查询where条件里的or和and有了一定的了解,想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!