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:
WHEREfiltra las filas antes de la agrupación y agregación. Limita el conjunto de datos que se utilizará en la consulta.HAVINGfiltra 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.