Sobes.tech
Middle

Pregunta estándar sobre SQL: ¿Cuál es la diferencia entre WHERE y HAVING?

sobes.tech AI

Respuesta de la IA

La principal diferencia entre WHERE y HAVING en SQL radica en la etapa en la que filtran los datos:

  • WHERE filtra las filas antes de la agrupación. Se usa para limitar el conjunto de datos original.
  • HAVING filtra los grupos después de aplicar funciones de agregación y agrupación (GROUP BY).

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 así

Aquí, WHERE limita las filas originales, y HAVING los grupos finales.