运算符优先级

因为表达式变得更复杂,所以执行表达式的顺序变得很重要。此表显示运算符的执行顺序。首先执行第一行的运算符,依次类推。从左至右执行表达式中同一行的运算符。

优先级

运算符

1

Unary '-'、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 日后录用的员工。