Junior — Middle
Jaký je rozdíl mezi podmínkou HAVING a podmínkou WHERE při práci s SQL dotazy?
sobes.tech AI
Odpověď od AI
Hlavní rozdíl mezi WHERE a HAVING v SQL:
- WHERE filtruje řádky před seskupením (GROUP BY). Používá se na jednotlivé záznamy tabulky.
- HAVING filtruje skupiny po seskupení. Používá se pro podmínky na agregační funkce (například COUNT, SUM).
Příklad:
SELECT oddělení, COUNT(*) jako počet_zaměstnanců
FROM zaměstnanci
WHERE plat > 50000 -- filtruje zaměstnance s platem vyšším než 50000
GROUP BY oddělení
HAVING COUNT(*) > 10 -- vybírá oddělení s více než 10 zaměstnanci
Zde WHERE vybírá řádky pro seskupení, a HAVING filtruje již seskupené data.