Sobes.tech
Junior — Middle

¿En qué se diferencian las órdenes HAVING y WHERE en las consultas SQL y en qué casos se utilizan?

sobes.tech AI

Respuesta de la IA

Команды WHERE и HAVING в SQL используются для фильтрации данных, но применяются на разных этапах обработки запроса.

  • WHERE фильтрует строки до группировки. Он применяется к исходным данным и ограничивает набор строк, которые попадут в агрегатные функции или группировку.

  • HAVING фильтрует группы после применения агрегатных функций и группировки. Используется для условий на агрегированные значения.

Пример:

SELECT department, COUNT(*) AS employee_count
FROM employees
WHERE salary > 50000  -- фильтрация отдельных сотрудников
GROUP BY department
HAVING COUNT(*) > 10;    -- фильтрация отделов с более чем 10 сотрудниками

Здесь WHERE отбирает сотрудников с зарплатой выше 50000, а HAVING — отделы, где таких сотрудников больше 10.