• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

如何使用mysql查询where条件里的or和and

python 搞java代码 3年前 (2022-05-21) 35次浏览 已收录 0个评论

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

AND、OR运算符的组合使用

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

<a href="https://www.gaodaima.com/tag/condition" title="查看更多关于condition的文章" target="_blank">condition</a>1
OR condition2
AND condition3

www#gaodaima.com来源gaodai$ma#com搞$代*码*网搞代码

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

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教程网

来源:搞代码网:原文地址:https://www.gaodaima.com


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:如何使用mysql查询where条件里的or和and
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址