Sobes.tech
Back to questions
Middle
5

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

Companies where asked
Япоки

Answer from AI

sobes.tech AI

В SQL оператор WHERE используется для фильтрации строк до группировки, то есть он ограничивает набор данных, которые будут участвовать в запросе.

HAVING применяется для фильтрации уже сгруппированных данных, то есть после выполнения агрегатных функций и группировки.

Пример:

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

Здесь сначала WHERE отбирает строки с зарплатой выше 50000, затем данные группируются по отделам, и HAVING фильтрует группы по количеству сотрудников.