Dela via


Operatorprioritet (entitets-SQL)

När en entitets-SQL-fråga har flera operatorer avgör operatorprioriteten i vilken ordning åtgärderna utförs. Körningsordningen kan påverka frågeresultatet avsevärt.

Operatorerna har de prioritetsnivåer som visas i följande tabell. En operator med en högre nivå utvärderas före en operator med en lägre nivå.

Nivå Åtgärdstyp Operator
1 Primär . , [] ()
2 Unär ! not
3 Multiplicative * / %
4 Tillsats + -
5 Ordna profiler < > <= >=
6 Tillämplig = != <>
7 Villkorsstyrd OCH and &&
8 Villkorsstyrd ELLER or &#124;&#124;

När två operatorer i ett uttryck har samma operatorprioretsnivå utvärderas de från vänster till höger baserat på deras position i frågan. Till exempel x+y-z utvärderas som (x+y)-z.

Du kan använda parenteser för att åsidosätta operatorernas definierade prioritet i en fråga. Allt inom parenteser utvärderas först för att ge ett enda resultat innan det resultatet kan användas av alla operatorer utanför parenteserna. Multiplicerar till exempel x+y*z med och lägger sedan till x, men (x+y)*z lägger x till y i och multiplicerar sedan resultatet zmed .y z

Se även