Senior
Чиме се разликује HAVING од WHERE?
sobes.tech АИ
Одговор од АИ
Glavna razlika između HAVING i WHERE je u fazi obrade podataka u kojoj se primenjuju:
-
WHEREfiltrira redove pre grupisanja. Primjenjuje se na originalne podatke i ograničava skup redova koji će ući u agregatne funkcije i grupisanje. -
HAVINGfiltrira grupe nakon izvršenja agregatnih funkcija i grupisanja. Primjenjuje se na rezultate agregacije.
Primer:
SELECT odeljenje, COUNT(*) kao broj_zaposlenih
FROM zaposleni
WHERE plata > 50000 -- filtriramo zaposlene sa platom > 50000
GROUP BY odeljenje
HAVING COUNT(*) > 10 -- biramo odeljenja sa više od 10 zaposlenih
Ovde, WHERE ograničava početne redove, a HAVING završne grupe.