Prioritetsordning för operatorer
Varefter uttryck blir mer komplicerade, blir det viktigare i vilken ordning uttrycket utvärderas. Tabellen visar i vilken ordning operatorerna utvärderas. Operatorerna på första raden utvärderas först och så vidare. Operatorer på samma rad utvärderas från vänster till höger i uttrycket.
Företräde |
Operator |
1 |
Unärt |
2 |
^, ** |
3 |
*, / |
4 |
+, - |
5 |
=, <>, <, <=, >, >=, Like, Not Like, Is Null, Is Not Null, Between, In, Exists, Any, All |
6 |
Not |
7 |
AND |
8 |
OR |
WHERE lön > 40000 OR anst_datum > (DATE '2008-01-30') AND avd = 'D101'
Eftersom AND utvärderas först hämtar denna fråga alla anställda på avdelning D101 som anställts efter 30 januari 2008 samt alla anställda som tjänar mer än 40000, oavsett avdelning och anställningsdatum.
Om du vill tvinga instruktionen att utvärderas i en annan ordning, omsluter du de villkor du vill utvärdera först inom parentes.
WHERE (lön > 40000 OR anst_datum > DATE '2008-01-30') AND avd = 'D101'
I det här exemplet hämtas anställda på avdelning D101 som antingen tjänar mer än 40 000 eller som anställdes efter 30 januari 2008.