Junior — Middle
¿Cuál es la diferencia entre la condición WHERE y HAVING al trabajar con consultas SQL?
sobes.tech AI
Respuesta de la IA
WHERE y HAVING son condiciones de filtrado en SQL, pero se aplican en diferentes etapas del procesamiento de datos.
WHEREfiltra las filas antes de la agrupación. Se usa para seleccionar registros a nivel de datos originales.HAVINGfiltra los grupos formados por el operadorGROUP BY. Se aplica después 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í primero se seleccionan empleados con salario superior a 50000 (WHERE), luego los datos se agrupan por departamentos, y después se seleccionan solo aquellos departamentos donde el número de empleados es mayor a 10 (HAVING).