Sobes.tech
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.