Sobes.tech
Senior

Чиме се разликује HAVING од WHERE?

sobes.tech АИ

Одговор од АИ

Glavna razlika između HAVING i WHERE je u fazi obrade podataka u kojoj se primenjuju:

  • WHERE filtrira redove pre grupisanja. Primjenjuje se na originalne podatke i ograničava skup redova koji će ući u agregatne funkcije i grupisanje.

  • HAVING filtrira 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.