java面试题网

普通会员

183

帖子

7

回复

95

积分

楼主
发表于 2019-08-26 15:24:39 | 查看: 5083| 回复: 0

mysql表达式的优先级

mysql表达式的优先级

查询薪水大于1800,并且部门代码为20或30的员工(错误的写法)

select * from emp where sal > 1800 and deptno = 20 or deptno = 30;

mysql表达式的优先级_www.wityx.com

以上输出不是预期结果,薪水小于1800的数据也被查询上来了,原因是表达式的优先级导致的,首先过滤sal > 1800 and deptno = 20,然后再将deptno = 30员工合并过来,所以是不对的

查询薪水大于1800,并且部门代码为20或30的(正确的写法)

select * from emp where sal > 1800 and (deptno = 20 or deptno = 30);

mysql表达式的优先级_www.wityx.com

关于运算符的问题:不用记,没有把握尽量采用括号


文章来自www.wityx.com,转载请注明出处!原文地址http://www.wityx.com/post/1036_1_1.html


java面试题交流群:327440556

您需要登录后才可以回帖 登录 | 立即注册

java面试题网www.wuliaokankan.cnjava建站系统提供技术支持V2.1 网站地图 © 2016-2018