Sobes.tech
Junior — Middle

Magyarázza el a HAVING operátor és a WHERE feltétel közötti különbségeket SQL-ben, és hogy mikor érdemes őket használni.

sobes.tech MI

Válasz az MI-től

SQL-ben a WHERE feltétel szűri a sorokat az összegzés előtt, míg a HAVING azt követően.

  • WHERE alkalmazható az egyes táblázatsorokra, és korlátozza az összesített adathalmazt.
  • HAVING az aggregált függvények eredményeire vonatkozik, és szűri a GROUP BY utasítással létrehozott csoportokat.

Példa:

SELECT osztaly, COUNT(*) mint alkalmazottak_szama
FROM alkalmazottak
WHERE fizetes > 50000  -- szűrjük a 50000 feletti fizetésű alkalmazottakat
GROUP BY osztaly
HAVING COUNT(*) > 10    -- kiválasztjuk az osztályokat, ahol több mint 10 alkalmazott van

Használja a WHERE-t az eredeti adatok szűrésére, a HAVING-et pedig az összesített eredmények szűrésére.