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


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

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

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

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

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

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

См. также