INGRESAR

REGISTRARSE
Buscador

Uso de la cláusula having en sql

2024-04-05


Uso de la 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 l a 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