top of page

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



oferta en cursos online
bottom of page