Junior — Middle
¿Cuál es la diferencia entre la condición HAVING y la condición WHERE al trabajar con consultas SQL?
sobes.tech AI
Respuesta de la IA
La principal diferencia entre WHERE y HAVING en SQL:
- WHERE filtra las filas antes de la agrupación (GROUP BY). Se aplica a registros individuales de la tabla.
- HAVING filtra los grupos después de realizar la agrupación. Se usa para condiciones en funciones agregadas (por ejemplo, COUNT, SUM).
Ejemplo:
SELECT departamento, COUNT(*) as cantidad_empleados
FROM empleados
WHERE salario > 50000 -- filtramos empleados con salario superior a 50000
GROUP BY departamento
HAVING COUNT(*) > 10 -- seleccionamos departamentos con más de 10 empleados
Aquí, WHERE selecciona las filas para la agrupación, y HAVING filtra los datos ya agrupados.