Sobes.tech
Junior — Middle
96

Care este diferența dintre utilizarea condițiilor HAVING și WHERE atunci când lucrați cu interogări SQL?

Companiile au fost întrebate
ИнфоТехСервис
OkkoOkko
ООО Корпорация ЗНАК
РунитиРунити

Răspuns de la AI

sobes.tech AI

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

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

Пример:

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

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