Junior — Middle
Jaký je účel operátoru HAVING v SQL a v čem se liší od WHERE?
sobes.tech AI
Odpověď od AI
Klauzule HAVING v SQL se používá k filtrování výsledků po seskupení dat pomocí GROUP BY. Umožňuje stanovit podmínky pro agregovaná data.
Rozdíl od WHERE:
- WHERE filtruje řádky před seskupením, pracuje s jednotlivými záznamy.
- HAVING filtruje skupiny po agregaci.
Příklad:
SELECT oddělení, COUNT(*) AS počet_zaměstnanců
FROM zaměstnanci
GROUP BY oddělení
HAVING COUNT(*) > 10;
Zde nelze použít WHERE k filtrování podle COUNT(*), protože je to agregační funkce, zatímco HAVING umožňuje vybrat pouze ta oddělení, kde je více než 10 zaměstnanců.