Middle
Standards küsimus SQL kohta: mis vahe on WHERE ja HAVING vahel?
sobes.tech AI
Vastus AI-lt
Peamine erinevus WHERE ja HAVING vahel SQL-is seisneb selles, millal nad andmeid filtreerivad:
WHEREfiltreerib read enne rühmitamist. Kasutatakse algandmekogumi piiramiseks.HAVINGfiltreerib rühmad pärast agregaatfunktsioonide ja rühmitamise (GROUP BY) rakendamist.
Näide:
SELECT osakond, COUNT(*) kui töötajate_arv
FROM töötajad
WHERE palk > 50000 -- filtreerib töötajaid, kelle palk on > 50000
GROUP BY osakond
HAVING COUNT(*) > 10 -- valib osakonnad, kus on rohkem kui 10 töötajat
Siin piirab WHERE algseid ridu, ja HAVING lõplikke gruppe.