Junior — Middle
¿En qué se diferencian las condiciones HAVING y WHERE al construir consultas SQL?
sobes.tech AI
Respuesta de la IA
En SQL, las condiciones WHERE y HAVING sirven para filtrar datos, pero se aplican en diferentes etapas del procesamiento de la consulta:
- WHERE filtra las filas antes de la agrupación. Se usa para limitar el conjunto de datos que serán agregados.
- HAVING filtra los grupos después de aplicar funciones de agregación (por ejemplo, SUM, COUNT).
Ejemplo:
SELECT departamento, COUNT(*) as cantidad_empleados
FROM empleados
WHERE salario > 50000 -- filtrado por salario antes de agrupar
GROUP BY departamento
HAVING COUNT(*) > 10; -- filtrado de grupos con más de 10 empleados
Aquí primero se seleccionan empleados con salario superior a 50000 (WHERE), luego los datos se agrupan por departamentos, y solo los departamentos con más de 10 empleados pasan el filtro HAVING.