创新互联Python教程:如何使用mysql查询where条件里的or和and

为什么要着重讲这块内容呢?因为好多小伙伴都会混淆,要不就是不知道怎么组合使用,今天小编就给大家讲这部分内容干货,让大家半分钟看懂。

桐城ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!

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实用知识,点击进入PyThon学习网教学中心。

文章题目:创新互联Python教程:如何使用mysql查询where条件里的or和and
链接地址:http://www.shufengxianlan.com/qtweb/news14/2364.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联