Вопросы к Поиску с Алисой
Оператор HAVING нельзя использовать вместо WHERE в некоторых случаях, потому что они выполняют разные задачи. ru.hexlet.io precord.ru
WHERE применяется к строкам исходной таблицы до группировки данных. ru.hexlet.io Он работает только с записями из таблицы и не знает о последующей группировке. sql-academy.org Например, с помощью WHERE можно отфильтровать записи по цене до применения группировки и лишь затем вычислить среднюю стоимость групп оставшегося жилья. sql-academy.org
HAVING, в свою очередь, фильтрует группы после того, как данные были сгруппированы. precord.ru Он позволяет задать условие на результат агрегатной функции после проведения группировки. ru.hexlet.io Например, с помощью HAVING можно найти пользователей, которые потратили менее 30 минут в онлайн-школе. ru.hexlet.io
Таким образом, WHERE не подходит для фильтрации групп, а HAVING — для работы с условиями, основанными на итоговом значении группы. sql-academy.org precord.ru