Sobes.tech
Junior — Middle

¿Cuál es la diferencia entre las condiciones WHERE y HAVING al trabajar con consultas SQL?

sobes.tech AI

Respuesta de la IA

En SQL, las condiciones WHERE y HAVING se utilizan para filtrar datos, pero se aplican en diferentes etapas del procesamiento de la consulta:

  • WHERE filtra las filas antes de la agrupación y agregación. Limita el conjunto de datos que se utilizará en la consulta.
  • HAVING filtra los grupos después de aplicar funciones de agregación (por ejemplo, SUM, COUNT, AVG). Se usa para limitar los resultados de la agregación.

Ejemplo:

SELECT departamento, COUNT(*) as cantidad_empleados
FROM empleados
WHERE salario > 50000       -- filtramos empleados con salario > 50000
GROUP BY departamento
HAVING COUNT(*) > 10;        -- seleccionamos departamentos con más de 10 empleados

Aquí, WHERE selecciona empleados con salario superior a 50000, y HAVING filtra los departamentos que tienen más de 10 empleados.