Junior — Middle
Објасните разлике између оператора HAVING и условa WHERE у SQL-у и у којим случајевима их треба користити.
sobes.tech АИ
Одговор од АИ
U SQL-u, uslov WHERE filtrira redove pre grupisanja, dok je HAVING to uradi nakon grupisanja.
- WHERE se primenjuje na pojedinačne redove tabele i ograničava skup podataka koji će biti agregiran.
- HAVING se primenjuje na rezultate agregatnih funkcija i filtrira grupe formirane naredbom GROUP BY.
Primer:
SELECT odeljenje, COUNT(*) kao broj_zaposlenih
FROM zaposleni
WHERE plata > 50000 -- filtriramo zaposlene sa platom iznad 50000
GROUP BY odeljenje
HAVING COUNT(*) > 10 -- biramo odeljenja sa više od 10 zaposlenih
Koristite WHERE za filtriranje izvornog skupa podataka, a HAVING za filtriranje agregovanih rezultata.