Sobes.tech
Назад к вопросам
Middle+
7

Чем отличается WHERE от HAVING?

Компании, где спрашивали
DNSDNS

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

sobes.tech AI

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

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

Пример:

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

Здесь WHERE отбирает строки до группировки, а HAVING — после группировки по отделам.