Sobes.tech
Junior — Middle

Čime se razlikuju uslovni operatori WHERE i HAVING u SQL-u i koja je njihova svrha?

sobes.tech АИ

Одговор од АИ

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

Пример:

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

Таким образом, WHERE фильтрует исходные данные, а HAVING — результаты агрегатных функций и группировок.