Junior — Middle
Jaký je rozdíl mezi podmínkami WHERE a HAVING při práci s SQL dotazy?
sobes.tech AI
Odpověď od AI
V SQL se podmínky WHERE a HAVING používají k filtrování dat, ale aplikují se v různých fázích zpracování dotazu:
WHEREfiltruje řádky před seskupením a agregací. Omezí množinu dat, která se použije v dotazu.HAVINGfiltruje skupiny po použití agregačních funkcí (napříkladSUM,COUNT,AVG). Používá se k omezení výsledků agregace.
Příklad:
SELECT oddělení, COUNT(*) jako počet_zaměstnanců
FROM zaměstnanci
WHERE plat > 50000 -- filtruje zaměstnance s platem > 50000
GROUP BY oddělení
HAVING COUNT(*) > 10; -- vybírá oddělení s více než 10 zaměstnanci
Zde WHERE vybírá zaměstnance s platem vyšším než 50000, a HAVING filtruje oddělení, kde je více než 10 zaměstnanců.