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

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

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

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

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 фильтрует группы по количеству сотрудников.