Sobes.tech
Junior — Middle

Koja je svrha HAVING operatora u SQL i u čemu se razlikuje od WHERE?

sobes.tech АИ

Одговор од АИ

HAVING klauza u SQL-u se koristi za filtriranje rezultata nakon grupisanja 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.