Junior
41
questionbank

В чем отличие между предложениями WHERE и HAVING в SQL?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

WHERE фильтрует строки перед группировкой. HAVING фильтрует группы, созданные с помощью GROUP BY, после группировки.

WHERE:

  • Применяется к отдельным строкам.
  • Не может использовать агрегатные функции (COUNT, SUM, AVG, MIN, MAX).
  • Выполняется раньше GROUP BY, HAVING и SELECT.

HAVING:

  • Применяется к группам строк.
  • Может использовать агрегатные функции.
  • Выполняется после WHERE и GROUP BY, но до SELECT.

Пример:

Найти клиентов из города 'Москва' (где WHERE) у которых общая сумма заказов превышает 1000 (где HAVING).

sql