运算符优先级
因为表达式变得更复杂,所以执行表达式的顺序变得很重要。此表显示运算符的执行顺序。首先执行第一行的运算符,依次类推。从左至右执行表达式中同一行的运算符。
优先级 |
运算符 |
1 |
Unary |
2 |
^, ** |
3 |
*, / |
4 |
+, - |
5 |
=、<>、<、<=、>、>=、Like、Not Like、Is Null、Is Not Null、Between、In、Exists、Any、All |
6 |
Not |
7 |
AND |
8 |
OR |
复制
WHERE salary > 40000 OR hire_date > (DATE '2008-01-30') AND dept = 'D101'
因为首先执行 AND,此查询会检索从 2008 年 1 月 30 日后录用的部门 D101 的员工,以及收入超过 $40,000 的每个员工(无论所属部门或录用日期如何)。
要强制按不同的顺序执行子句,使用括号将要首先执行的条件括起。
复制
WHERE (salary > 40000 OR hire_date > DATE '2008-01-30') AND dept = 'D101'
此示例检索部门 D101 收入超过 $40,000 或自 2008 年 1 月 30 日后录用的员工。