Cláusula HAVING en SQL


La cláusula HAVING se aplica en condición al conjunto de resultados agrupados que una consulta devuelve cuando hace uso de la cláusula GROUP BY, es decir:

  • Solo es usada cuando también se usa la cláusula WHERE.

  • Solo la podemos aplicar a las columnas devueltas en la consulta, no pueden aplicarse a una columna de la tabla.


La condición HAVING la vamos a aplicar luego de aplicar todas las condiciones de la cláusula WHERE y se completan todas las operaciones de GROUP BY, es decir, se ejecuta después de las cláusulas WHERE y GROUP BY.


La condición obtiene la misma forma que cualquier condición de la cláusula WHERE.

  • Ejemplo:

  • SELECT department_id, MIN(salary)

FROM hr.employees

GROUP BY department_id

HAVING MIN(salary) > 24000;


Diferencias entre las clausulas WHERE y HAVING:

  • La cláusula WHERE se aplica a todos los registros de la tabla.

  • La cláusula HAVING se aplica a los datos devueltos por la sentencia SELECT cuando usa la cláusula GROUP BY.


SELECT DEPARTMENT_ID, FIRST_NAME, SALARY FROM EMPLOYEES EM WHERE SALARY = (SELECT MAX(SALARY) FROM EMPLOYEES E WHERE EM.DEPARTMENT_ID = E.DEPARTMENT_ID ).


Ejemplos Cláusula HAVING



2 visualizaciones0 comentarios

Entradas Recientes

Ver todo