SQL 中多个 and or 的组合运算

sql关系型运算符优先级高到低为:not >and> or

AND、OR运算符的组合使用
在WHERE子句中,通过AND、OR运算符可以同时连接多个条件,当然AND、OR运算符也可以同时使用。
与大多数语言一样,SQL语言认为AND运算符的运算级别要高于OR运算符。即当出现:

condition1 OR condition2 AND condition3

其运算实际上是等价于:

condition1 OR (condition2 AND condition3) //先运算 and 再运算or
因此,AND、OR运算符需要同时使用时,一定要注意运算符的优先级

网上获取计算机和生物老师工资>1000的人

SELECT  TNAME, DNAME FROM   TEACHER
WHERE    (DNAME='计算机' OR DNAME='生物')
AND   SAL>1000 ORDER BY  SAL

可以发现,当在OR运算符连接的两个条件加上括号()后,得到了需要的查询结果。
这是因为,括号()的优先级高于AND运算符,执行过程就先于AND运算符

注意
当OR运算符和AND运算符同时运用时,
建议用户不要考虑其默认的优先级顺序,
而是采用括号()来实现需要的执行顺序,这样可以增强程序的可读性。



posted @ 2017-12-14 15:06  ProZkb  阅读(14515)  评论(0编辑  收藏  举报