Sobes.tech
Назад к вопросам
Senior
10

Чем отличается WHERE от HAVING?

Компании, где спрашивали
ИП Ганус Александр Андреевич

Ответ от нейросети

sobes.tech AI

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

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

Пример:

SELECT author, COUNT(*) as books_count
FROM books
WHERE price > 100
GROUP BY author
HAVING COUNT(*) > 5;

Здесь сначала выбираются книги с ценой больше 100 (WHERE), затем группы по авторам, и из них выбираются только те, у кого больше 5 книг (HAVING).