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