运算符优先级 (Entity SQL)
当 Entity SQL 查询有多个运算符时,运算符优先级确定执行运算的先后次序。 执行顺序可能对查询结果有明显的影响。
运算符的优先级别如下表中所示。 先对较高级别的运算符求值,然后对较低级别的运算符求值。
级别 | 运算类型 | 运算符 |
---|---|---|
1 |
基本 |
|
2 |
一元 |
|
3 |
乘法 |
|
4 |
加法 |
|
5 |
排序 |
|
6 |
相等 |
|
7 |
条件“与” |
|
8 |
条件“或” |
|
当一个表达式中的两个运算符有相同的运算符优先级别时,将按照它们在查询中的位置对其从左到右进行求值。 例如x+y-z
的求值顺序等同于 (x+y)-z
。
在查询中可以使用括号替代所定义的运算符的优先级。 首先对括号中的内容进行求值,从而产生一个结果,然后括号外的运算符才可以使用这个结果。 例如x+y*z
先将y
与z
相乘,然后加上 x
,但(x+y)*z
先将x
与y
相加,然后将结果与 z
相乘。