Junior — Middle
Koja je razlika između uslova WHERE i HAVING prilikom rada sa SQL upitima?
sobes.tech АИ
Одговор од АИ
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 — отделы по количеству сотрудников.