Middle
Kuo skiriasi WHERE nuo HAVING?
sobes.tech AI
Atsakymas iš AI
SQL'e operatorius WHERE naudojamas filtravimui eilučių prieš grupavimą, tai yra, jis riboja duomenų rinkinį, kuris dalyvaus užklausoje.
HAVING naudojamas jau grupuotų duomenų filtravimui, tai yra, po agregatinių funkcijų ir grupavimo.
Pavyzdys:
SELECT department, COUNT(*) as employee_count
FROM employees
WHERE salary > 50000 -- filtruojame darbuotojus su atlyginimu daugiau nei 50000
GROUP BY department
HAVING COUNT(*) > 10 -- pasirenkame skyrius, kuriuose daugiau nei 10 tokių darbuotojų
Čia pirmiausia WHERE filtruoja eilutes su atlyginimu virš 50000, tada duomenys grupuojami pagal skyrius, ir HAVING filtruoja grupes pagal darbuotojų skaičių.