Sobes.tech
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.