Junior — Middle
Kokia yra HAVING operatoriaus funkcija SQL ir kuo jis skiriasi nuo WHERE?
sobes.tech AI
Atsakymas iš AI
SQL HAVING sąlyga naudojama rezultatų filtravimui po duomenų grupavimo naudojant GROUP BY. Ji leidžia nustatyti sąlygas agreguotiems duomenims.
Skirtumas nuo WHERE:
- WHERE filtruoja eilutes prieš grupavimą, dirba su atskirais įrašais.
- HAVING filtruoja grupes po agregacijos.
Pavyzdys:
SELECT skyrius, COUNT(*) AS darbuotojų_skaičius
FROM darbuotojai
GROUP BY skyrius
HAVING COUNT(*) > 10;
Čia, WHERE negalima naudoti filtruojant pagal COUNT(*), nes tai yra agregavimo funkcija, o HAVING leidžia pasirinkti tik tuos skyrius, kuriuose daugiau nei 10 darbuotojų.