Partilhar via


Precedência do operador (Entity SQL)

Quando uma consulta Entity SQL tem vários operadores, a precedência do operador determina a sequência na qual as operações são executadas. A ordem de execução pode afetar significativamente o resultado da consulta.

Os operadores têm os níveis de precedência mostrados na tabela a seguir. Um operador com um nível mais alto é avaliado antes de um operador com um nível mais baixo.

Level Tipo de operação Operador
1 Primário . , [] ()
2 Unário ! not
3 Multiplicativo * / %
4 Aditivo + -
5 Ordenação < > <= >=
6 Equality = != <>
7 Condicional E and &&
8 OU condicional or &#124;&#124;

Quando dois operadores em uma expressão têm o mesmo nível de precedência do operador, eles são avaliados da esquerda para a direita, com base em sua posição na consulta. Por exemplo, x+y-z é avaliado como (x+y)-z.

Você pode usar parênteses para substituir a precedência definida dos operadores em uma consulta. Tudo entre parênteses é avaliado primeiro para produzir um único resultado antes que esse resultado possa ser usado por qualquer operador fora dos parênteses. Por exemplo, x+y*z multiplica y por z e depois adiciona x, mas (x+y)*z adiciona x e y multiplica o resultado por z.

Consulte também