Sobes.tech
Back to questions
Junior — Middle
83

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

Answer from AI

sobes.tech AI

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

Пример:

SELECT department, COUNT(*) as employee_count
FROM employees
GROUP BY department
HAVING COUNT(*) > 5;

Здесь HAVING отбирает только те отделы, в которых больше 5 сотрудников.

Итого:

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