Sobes.tech
Back to questions
Junior — Middle
61

Какое назначение у оператора HAVING в SQL и в чем его отличие от WHERE?

Companies where asked
Почтатех

Answer from AI

sobes.tech AI

Оператор HAVING в SQL используется для фильтрации результатов после группировки данных с помощью GROUP BY. Он позволяет задать условия для агрегированных данных.

Отличие от WHERE:

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

Пример:

SELECT department, COUNT(*) AS employee_count
FROM employees
GROUP BY department
HAVING COUNT(*) > 10;

Здесь WHERE нельзя использовать для фильтрации по COUNT(*), так как это агрегатная функция, а HAVING позволяет выбрать только те отделы, где больше 10 сотрудников.