Junior — Middle
Aký je účel operátora HAVING v SQL a v čom sa líši od WHERE?
sobes.tech AI
Odpoveď od AI
HAVING klauzula v SQL-u se koristi za filtriranje rezultata nakon grupiranja podataka pomoću GROUP BY. Omogućava postavljanje uslova za agregirane podatke.
Razlika u odnosu na WHERE:
- WHERE filtrira redove pre grupisanja, radi sa pojedinačnim zapisima.
- HAVING filtrira grupe nakon agregacije.
Primer:
SELECT odeljenje, COUNT(*) AS broj_zaposlenih
FROM zaposleni
GROUP BY odeljenje
HAVING COUNT(*) > 10;
Ovde se ne može koristiti WHERE za filtriranje po COUNT(*), jer je to agregatna funkcija, dok HAVING omogućava izbor samo onih odeljenja gde ima više od 10 zaposlenih.