Sobes.tech
Middle+
58

Mi a különbség a WHERE és a HAVING között?

Cégeket kérdeztek
DNSDNS

Válasz az MI-től

sobes.tech MI

WHERE и HAVING — это оба оператора фильтрации в SQL, но используются на разных этапах обработки данных.

  • WHERE фильтрует строки до группировки и агрегирования. Он применяется к отдельным записям таблицы.
  • HAVING фильтрует группы, полученные после применения агрегатных функций (например, SUM, COUNT, AVG).

Пример:

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

Здесь WHERE отбирает строки до группировки, а HAVING — после группировки по отделам.