Встречается на 5% собеседований по Python
В чем разница между HAVING и WHERE в SQL
Разница между WHERE и HAVING в SQL — фундаментальное понятие, связанное с этапами выполнения запроса.
Ключевые отличия:
1. Этап применения
WHERE фильтрует отдельные строки до группировки (до оператора GROUP BY).
HAVING фильтрует результаты агрегации (после группировки).
2. Контекст использования
WHERE работает с данными из таблиц (столбцами, не участвующими в агрегации).
HAVING работает с результатами агрегатных функций (SUM, COUNT, AVG и т.д.).
3. Синтаксический порядок
text
SELECT
FROM
WHERE -- Фильтрация строк ДО группировки
GROUP BY
HAVING -- Фильтрация групп ПОСЛЕ группировки
ORDER BYПример с WHERE (фильтрация до группировки):
text
SELECT category, SUM(revenue) AS total
FROM sales
WHERE revenue > 100 -- Отбираем строки с revenue > 100 ДО группировки
GROUP BY category;Пример с HAVING (фильтрация после группировки):
text
SELECT category, SUM(revenue) AS total
FROM sales
GROUP BY category
HAVING SUM(revenue) > 250; -- Отбираем группы с суммой revenue > 250
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы