Назад к вопросам
IT One
Senior
3
В чем разница между WHERE и HAVING?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В 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 — результаты агрегатных функций.