Sobes.tech
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ů.