Базы данных / SQL middle
В чём разница: WHERE vs HAVING?
Ответ
WHERE — до группировки, работает с индексами. HAVING — после GROUP BY, для агрегатов. Пример: HAVING COUNT(*) > 5. Ошибка: ставить в HAVING то, что можно в WHERE — медленнее.
Разбор: WHERE фильтрует строки до группировки и может опираться на индексы, HAVING фильтрует уже сгруппированные данные по агрегатам (HAVING COUNT(*) > 5). Дистракторы меняют этапы местами, объявляют их взаимозаменяемыми или ошибочно запрещают агрегаты в HAVING — тогда как именно агрегаты и есть его основное назначение.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.