Middle
Čím se liší WHERE od HAVING?
sobes.tech AI
Odpověď od AI
V SQL je operátor WHERE použit pro filtrování řádků před seskupením, tedy omezuje množinu dat, která se budou podílet na dotazu.
HAVING se používá k filtrování již seskupených dat, tedy po provedení agregačních funkcí a seskupení.
Příklad:
SELECT department, COUNT(*) as employee_count
FROM employees
WHERE salary > 50000 -- filtrujeme zaměstnance s platem vyšším než 50000
GROUP BY department
HAVING COUNT(*) > 10 -- vybíráme oddělení s více než 10 takovými zaměstnanci
Zde nejprve WHERE vybírá řádky s platem nad 50000, poté jsou data seskupena podle oddělení a HAVING filtruje skupiny podle počtu zaměstnanců.