sábado, 9 de agosto de 2014

Reglas de precedencia






Se pueden usar paréntesis “()” para modificar o sobrescribir las reglas de precedencia.
Las reglas de precedencia determina el orden con que se evalúan y calculan las expresiones.
En la tabla de precedencia se indica el orden con que se ejecutan por defectos las reglas, sin embargo de ser necesario, se pueden modificar encerrando en paréntesis la expresión que quiera que se evalué primero.
La consulta
SELECT
    last_name
   ,job_id
   ,salary
FROM hr.employees
WHERE job_id = 'SA_REP'
  OR job_id = 'AD_PRES'
  AND salary > 15000;




Evalúa primero las expresiones relacionadas en el AND
   job_id = 'AD_PRES'
AND salary > 15000
El resultado del AND  de esas expresiones lo evalúa luego con el OR
job_id = 'SA_REP'
  OR resultado del AND


En esta misma consulta  podemos sobrescribir las reglas de precedencia con paréntesis.
SELECT
    last_name
   ,job_id
   ,salary
FROM hr.employees
WHERE (job_id = 'SA_REP'
  OR job_id = 'AD_PRES')
  AND salary > 15000;


Primero evalúa lo que está en paréntesis,
        (job_id = 'SA_REP'
  OR job_id = 'AD_PRES')

 el resultado de esa evaluación lo evalúa con la expresión AND
Resultado del parrentesis

AND salary > 15000

No hay comentarios:

Publicar un comentario