Middle
Aký je rozdiel medzi WHERE a HAVING?
sobes.tech AI
Odpoveď od AI
V SQL-e sa operátor WHERE slúži na filtrovanie riadkov pred skupinovaním, teda obmedzuje množinu dát, ktoré sa budú podieľať na dopyte.
HAVING sa používa na filtrovanie už skupinovaných dát, teda po vykonaní agregačných funkcií a skupinovaní.
Príklad:
SELECT department, COUNT(*) as employee_count
FROM employees
WHERE salary > 50000 -- filtrujeme zamestnancov s platom vyšším ako 50000
GROUP BY department
HAVING COUNT(*) > 10 -- vyberáme oddelenia s viac ako 10 takými zamestnancami
Tu najprv WHERE filtruje riadky s platom nad 50000, potom sú dáta skupinované podľa oddelení a HAVING filtruje skupiny podľa počtu zamestnancov.