Sobes.tech
Назад к вопросам
Junior — Middle
67

Какое отличие между условиями WHERE и HAVING при работе с SQL-запросами?

Ответ от нейросети

sobes.tech AI

WHERE и HAVING — это условия фильтрации в SQL, но применяются на разных этапах:

  • WHERE фильтрует строки до группировки. Используется для отбора строк, которые попадут в агрегатные функции.
  • HAVING фильтрует группы после применения агрегатных функций, то есть уже после GROUP BY.

Пример:

SELECT department, COUNT(*) as emp_count
FROM employees
WHERE salary > 50000      -- фильтруем сотрудников с зарплатой > 50000
GROUP BY department
HAVING COUNT(*) > 10;       -- выбираем отделы с более чем 10 сотрудниками

Здесь WHERE отбирает сотрудников по зарплате, а HAVING — отделы по количеству сотрудников.