当实体 SQL 查询具有多个运算符时,运算符优先级确定执行作的顺序。 执行顺序可能会显著影响查询结果。
运算符的优先级别如下表中所示。 在具有较低级别的运算符之前,将计算具有较高级别的运算符。
级别 | 操作类型 | 操作员 |
---|---|---|
1 | 主要 | . , [] () |
2 | 一元 | ! not |
3 | 乘法性的 | * / % |
4 | 累加性 | + - |
5 | 订购 | < > <= >= |
6 | 平等 | = != <> |
7 | 条件“与” | and && |
8 | 条件“或” | or || |
当表达式中的两个运算符具有相同的运算符优先级时,会根据它们在查询中的位置从左到右计算它们。 例如, x+y-z
计算结果为 (x+y)-z
.
可以使用括号替代查询中运算符的定义优先级。 先计算括号内的所有内容,以生成单个结果,然后括号外的任何运算符才能使用该结果。 例如,x+y*z
乘y
z
以然后相加x
,但x
(x+y)*z
添加到y
结果后乘以z
结果。