Middle
Szabványos kérdés az SQL-ről: mi a különbség a WHERE és a HAVING között?
sobes.tech MI
Válasz az MI-től
A WHERE és a HAVING közötti fő különbség az, hogy melyik szakaszban szűrik az adatokat SQL-ben:
- A
WHEREsorokat mielőtt csoportosítaná. Az eredeti adathalmaz korlátozására szolgál. - A
HAVINGcsoportokat miután alkalmazták az aggregált függvényeket és aGROUP BY-t.
Példa:
SELECT osztály, COUNT(*) mint alkalmazott_szám
FROM alkalmazottak
WHERE fizetés > 50000 -- alkalmazottak szűrése fizetés szerint
GROUP BY osztály
HAVING COUNT(*) > 10 -- osztályok kiválasztása több mint 10 alkalmazottal
Itt a WHERE korlátozza az eredeti sorokat, a HAVING pedig a végső csoportokat.