饿虎岗资源网 Design By www.oxmxm.com

今天有这样得一个需求,如果登陆人是客服的话,会查询订单是'该客服'以及还没有匹配客服的,刚开始想的是直接在sql语句上拼写  or  assigned_id is null  的,测试了一下发现这样的话,前面的其他条件都没有用了

SQL语句中OR和AND的混合使用的小技巧

这样的话,第一个i.server_org_id = 4这个条件已经不适用了,,,,,,,,从这里可以知道AND 的优先级比OR的优先级高,先执行了前面的AND 语句,然后执行后面的OR语句,所以查出来的数据不是我想要的数据

后来又想了一下,可以先将对应的assigned_id查出来,如下

SQL语句中OR和AND的混合使用的小技巧

这样查出来的数据只有assigned_id 为153的

最终版本:

SQL语句中OR和AND的混合使用的小技巧

终于把正确的数据全部读出来了,由此可知,()的优先级比AND 高,先执行(),再执行AND

 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

饿虎岗资源网 Design By www.oxmxm.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
饿虎岗资源网 Design By www.oxmxm.com