Condividi tramite


Precedenza tra gli operatori (Entity SQL)

Quando una query Entity SQL ha più operatori, la precedenza tra operatori determina la sequenza in cui vengono eseguite le operazioni. L'ordine di esecuzione può modificare in modo significativo il risultato della query.

Nella tabella seguente sono indicati i livelli di precedenza degli operatori. Un operatore con livello di precedenza più alto viene valutato prima di un operatore con livello di precedenza più basso.

Level Tipo di operazione Operatore
1 Primario . , [] ()
2 Unario ! not
3 Moltiplicazione * / %
4 Additive + -
5 Creazione dell'ordine < > <= >=
6 Equality = != <>
7 AND condizionale and &&
8 OR condizionale or &#124;&#124;

Se due operatori in un'espressione hanno lo stesso livello di precedenza, vengono valutati da sinistra verso destra in base alla posizione nella query. L'espressione x+y-z viene ad esempio valutata come (x+y)-z.

Per ignorare l'ordine di precedenza predefinito degli operatori in una query, è possibile usare le parentesi. Tutti gli operatori racchiusi tra parentesi vengono valutati per primi in modo da ottenere un singolo risultato, che verrà quindi usato dagli operatori all'esterno delle parentesi. Ad esempio, x+y*z moltiplica y per z e quindi aggiunge x, ma (x+y)*z aggiunge x a y e quindi moltiplica il risultato per z.

Vedi anche