运算符

SQL 运算符是指定对一个或多个表达式执行操作的符号。运算符由特殊字符或关键字表示。

运算符优先级

当一个复杂表达式包含多个运算符时,运算符优先级决定了表达式中操作的顺序,例如在表达式 1 + 2 * 3 中,* 的优先级高于 +,因此表达式被求值为 1 + (2 * 3) = 7。执行顺序会显著影响最终结果。

运算符具有下表中所示的优先级级别。高优先级的运算符在低优先级的运算符之前进行求值。在下表中,运算符按优先级降序排列,即 1 为最高级别。列在同一表格单元格中的运算符具有相同的优先级,并根据结合性从左到右或从右到左进行求值。

优先级 运算符 操作 结合性
1 .
[]
::
成员访问
元素访问
类型转换
从左到右
2 +
-
~
一元加
一元减
按位非
从右到左
3 *
/
%
DIV
乘法
除法,取模
整数除法
从左到右
4 +
-
||
加法
减法
连接
从左到右
5 <<
>>
>>>
按位左移
按位右移
无符号按位右移
从左到右
6 & 按位与 从左到右
7 ^ 按位异或 从左到右
8 | 按位或 从左到右
9 =, ==
<>, !=
<, <=
>, >=
比较运算符 从左到右
10 NOT, !
EXISTS
逻辑非
存在性
从右到左
11 BETWEEN
IN
RLIKE, REGEXP
ILIKE
LIKE
IS [NULL, TRUE, FALSE]
IS DISTINCT FROM
其他谓词 从左到右
12 AND 合取 从左到右
13 OR 析取 从左到右