Sobes.tech
Junior — Middle

Каква е функцията на оператора HAVING в SQL и как се различава от WHERE?

sobes.tech AI

Отговор от AI

Клауза HAVING в SQL се използва за филтриране на резултатите след групиране на данните с GROUP BY. Тя позволява да се зададат условия за агрегирани данни.

Разлика от WHERE:

  • WHERE филтрира редовете преди групирането, работи с отделни записи.
  • HAVING филтрира групите след агрегиране.

Пример:

SELECT отдел, COUNT(*) AS брой_служители
FROM служители
GROUP BY отдел
HAVING COUNT(*) > 10;

Тук не може да се използва WHERE за филтриране по COUNT(*), тъй като това е агрегатна функция, а HAVING позволява да се изберат само отдели с повече от 10 служители.