Middle
Mi a különbség a WHERE és a HAVING között?
sobes.tech MI
Válasz az MI-től
SQL-ben a WHERE operátor a sorok szűrésére szolgál az összegzés előtt, vagyis korlátozza az adathalmazt, amely részt vesz a lekérdezésben.
HAVING már összegzett adatok szűrésére szolgál, vagyis az aggregált függvények és csoportosítások végrehajtása után.
Példa:
SELECT department, COUNT(*) as employee_count
FROM employees
WHERE salary > 50000 -- szűrjük a 50000 feletti fizetésű alkalmazottakat
GROUP BY department
HAVING COUNT(*) > 10 -- kiválasztjuk azokat a részlegeket, ahol több mint 10 ilyen alkalmazott van
Ebben az esetben először a WHERE szűri a 50000 feletti fizetésű sorokat, majd az adatok csoportosítva lesznek részlegek szerint, és a HAVING szűri a csoportokat a munkatársak száma szerint.