Поделиться через


Приоритет оператора (Entity SQL)

Когда запрос Entity SQL имеет несколько операторов, приоритет оператора определяет последовательность выполнения операций. Порядок выполнения может значительно повлиять на результат запроса.

Уровни приоритета операторов показаны в следующей таблице. Оператор с более высоким уровнем вычисляется перед оператором с более низким уровнем.

Уровень Тип операции Оператор
1 Первичный . , [] ()
2 Унарный ! not
3 Мультипликативный * / %
4 Добавка + -
5 Заказ < > <= >=
6 Равенство = != <>
7 Условный И and &&
8 Условное ИЛИ or &#124;&#124;

Если два оператора в выражении имеют одинаковый уровень приоритета оператора, они оцениваются слева направо на основе их позиции в запросе. Например, x+y-z вычисляется как (x+y)-z.

Скобки можно использовать для переопределения определенного приоритета операторов в запросе. Все в скобках вычисляется сначала, чтобы получить один результат, прежде чем этот результат может использоваться любым оператором за пределами круглых скобок. Например, x+y*z умножается yz на, а затем добавляется x, но (x+y)*z добавляется x к y и затем умножает результат на z.

См. также