Prioridad de operadores
A medida que las expresiones se hacen más complejas, es importante el orden en que estas se evalúan. Esta tabla muestra el orden en que se evalúan los operadores. Los operadores de la primera línea se evalúan primero, y así sucesivamente. Los operadores de la misma línea se evalúan de izquierda a derecha en la expresión.
Prioridad |
Operador |
1 |
|
2 |
^, ** |
3 |
*, / |
4 |
+, - |
5 |
=, <>, <, <=, >, >=, Like, Not Like, Is Null, Is Not Null, Between, In, Exists, Any, All |
6 |
Not |
7 |
AND |
8 |
OR |
WHERE salario > 40000 OR fecha_contratación > (DATE '30/01/2008') AND dept = 'D101'
Como se evalúa AND en primer lugar, esta consulta recupera los empleados del departamento D101 contratados después del 30.01.08, así como todos los empleados que ganen más de 40.000 €, independientemente del departamento o la fecha de contratación.
Para hacer que la cláusula se evalúe en un orden diferente, escriba entre paréntesis las condiciones que se deban evaluar primero.
WHERE (salario > 40000 OR fecha_contratación > DATE '30/01/2008') AND dept = 'D101'
En este ejemplo, se recuperan los empleados del departamento D101 que ganan más de 40.000 € o fueron contratados después del 30.01.08.