Sobes.tech
Junior — Middle
98

Quelle est la différence entre les conditions de filtrage des données avec les opérateurs HAVING et WHERE en SQL?

Réponse de l'IA

sobes.tech IA

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

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

Пример:

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

Здесь WHERE исключает сотрудников с зарплатой 50000 и ниже, а HAVING оставляет только те отделы, где более 10 сотрудников после фильтрации.

Таким образом, WHERE работает с отдельными строками, а HAVING — с агрегированными группами.