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