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

В чем разница между командами WHERE и HAVING в SQL

Основное отличие между WHERE и HAVING в SQL:

  1. WHERE фильтрует строки перед группировкой (GROUP BY), а HAVING фильтрует после группировки.
  2. WHERE не может использовать агрегатные функции (COUNT, SUM, AVG и т.д.), а HAVING может.

Пример:

sql
-- WHERE фильтрует отдельные записи
SELECT department, AVG(salary) 
FROM employees 
WHERE salary > 50000 
GROUP BY department;

-- HAVING фильтрует группы
SELECT department, AVG(salary) 
FROM employees 
GROUP BY department 
HAVING AVG(salary) > 50000;

WHERE работает с отдельными строками, HAVING - с группами. Оба могут использоваться вместе в одном запросе.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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