Junior — Middle
¿Cuál es la diferencia entre los operadores HAVING y WHERE en SQL y en qué casos se deben usar?
sobes.tech AI
Respuesta de la IA
El operador WHERE se utiliza para filtrar filas antes de agrupar los datos. Selecciona las filas que participarán en operaciones posteriores, como funciones de agregación.
El operador HAVING se aplica para filtrar datos ya agrupados, es decir, después de realizar el cláusula GROUP BY. Permite filtrar los grupos según condiciones de agregación.
Ejemplo:
SELECT department, COUNT(*) AS employee_count
FROM employees
WHERE salary > 50000 -- filtrado de filas por salario
GROUP BY department
HAVING COUNT(*) > 5 -- filtrado de grupos por número de empleados
En resumen:
- WHERE filtra registros individuales antes de agrupar.
- HAVING filtra los grupos después de agrupar.
Utilice WHERE para condiciones en campos individuales, HAVING para condiciones en funciones de agregación.