Встречается на собеседованиях • сегодня
В чем разница между HAVING и WHERE
Основное отличие между HAVING и WHERE в SQL заключается в том, где они применяются в запросе:
WHEREфильтрует строки до группировки (GROUP BY).HAVINGфильтрует уже сгруппированные данные (после GROUP BY).
Пример:
sql
-- WHERE фильтрует до группировки
SELECT department, COUNT(*)
FROM employees
WHERE salary > 50000
GROUP BY department;
-- HAVING фильтрует после группировки
SELECT department, COUNT()
FROM employees
GROUP BY department
HAVING COUNT() > 10;
text
**Ключевые моменты:**
1. `WHERE` работает с отдельными строками, `HAVING` — с агрегатами (COUNT, SUM и т.д.).
2. `HAVING` требует GROUP BY (если нет агрегатных функций для всей таблицы).
3. В одном запросе можно использовать оба:
```sql
SELECT department, AVG(salary)
FROM employees
WHERE hire_date > '2020-01-01'
GROUP BY department
HAVING AVG(salary) > 70000;
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы