Junior — Middle
Jaki jest cel operatora HAVING w SQL i czym różni się od WHERE?
sobes.tech AI
Odpowiedź od AI
Klauzula HAVING w SQL jest używana do filtrowania wyników po grupowaniu danych za pomocą GROUP BY. Pozwala na ustawienie warunków dla danych zagregowanych.
Różnica od WHERE:
- WHERE filtruje wiersze przed grupowaniem, działa na pojedynczych rekordach.
- HAVING filtruje grupy po zagregowaniu.
Przykład:
SELECT dział, COUNT(*) AS liczba_pracowników
FROM pracownicy
GROUP BY dział
HAVING COUNT(*) > 10;
Tutaj nie można użyć WHERE do filtrowania po COUNT(*), ponieważ jest to funkcja agregująca, a HAVING pozwala wybrać tylko te działy, gdzie jest więcej niż 10 pracowników.