Middle
Czym różni się WHERE od HAVING?
sobes.tech AI
Odpowiedź od AI
W SQL operator WHERE służy do filtrowania wierszy przed grupowaniem, czyli ogranicza zbiór danych, które będą brały udział w zapytaniu.
HAVING służy do filtrowania już pogrupowanych danych, czyli po wykonaniu funkcji agregujących i grupowania.
Przykład:
SELECT department, COUNT(*) as employee_count
FROM employees
WHERE salary > 50000 -- filtrujemy pracowników z wynagrodzeniem powyżej 50000
GROUP BY department
HAVING COUNT(*) > 10 -- wybieramy działy, w których jest więcej niż 10 takich pracowników
Tutaj najpierw WHERE wybiera wiersze z wynagrodzeniem powyżej 50000, następnie dane są grupowane według działów, a HAVING filtruje grupy według liczby pracowników.