В чём разница: WHERE vs HAVING?

Ответ

WHERE — до группировки, работает с индексами. HAVING — после GROUP BY, для агрегатов. Пример: HAVING COUNT(*) > 5. Ошибка: ставить в HAVING то, что можно в WHERE — медленнее.

Разбор: WHERE фильтрует строки до группировки и может опираться на индексы, HAVING фильтрует уже сгруппированные данные по агрегатам (HAVING COUNT(*) > 5). Дистракторы меняют этапы местами, объявляют их взаимозаменяемыми или ошибочно запрещают агрегаты в HAVING — тогда как именно агрегаты и есть его основное назначение.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться