Встречается на собеседованиях • сегодня

В чем отличие ключевых слов WHERE от HAVING

Основное отличие между WHERE и HAVING в SQL заключается в том, когда они применяются в процессе выполнения запроса:

  • WHERE фильтрует строки до группировки (используется с GROUP BY).
  • HAVING фильтрует результаты после группировки (работает с агрегатными функциями, такими как SUM, COUNT и т. д.).

Пример:

sql
-- WHERE фильтрует до группировки
SELECT department, COUNT(*) 
FROM employees 
WHERE salary > 50000 
GROUP BY department;

-- HAVING фильтрует после группировки
SELECT department, COUNT(*) 
FROM employees 
GROUP BY department 
HAVING COUNT(*) > 5;

Ключевые моменты:

  • WHERE не может использовать агрегатные функции.
  • HAVING применяется только с GROUP BY (если нет группировки, обычно используют WHERE).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы