Sobes.tech
Junior — Middle

Mi a HAVING operátor szerepe az SQL-ben, és miben különbözik a WHERE-től?

sobes.tech MI

Válasz az MI-től

A HAVING záradék SQL-ben az eredmények szűrésére szolgál a GROUP BY segítségével történő csoportosítás után. Lehetővé teszi az összesített adatok feltételeinek meghatározását.

Eltérés a WHERE-től:

  • WHERE a sorokat szűri a csoportosítás előtt, egyedi rekordokkal dolgozik.
  • HAVING a csoportokat szűri a csoportosítás után.

Példa:

SELECT osztály, COUNT(*) AS alkalmazottak_száma
FROM alkalmazottak
GROUP BY osztály
HAVING COUNT(*) > 10;

Itt nem használható a WHERE a COUNT(*) szerinti szűréshez, mivel ez egy aggregáló függvény, míg a HAVING csak azokat az osztályokat választja ki, ahol több mint 10 alkalmazott van.