Middle
Care este diferența dintre WHERE și HAVING?
sobes.tech AI
Răspuns de la AI
În SQL, operatorul WHERE este folosit pentru filtrarea rândurilor înainte de grupare, adică limitează setul de date care va participa la interogare.
HAVING se aplică pentru filtrarea datelor deja grupate, adică după executarea funcțiilor agregate și a grupărilor.
Exemplu:
SELECT department, COUNT(*) as employee_count
FROM employees
WHERE salary > 50000 -- filtrăm angajații cu salarii mai mari de 50000
GROUP BY department
HAVING COUNT(*) > 10 -- selectăm departamentele cu mai mult de 10 angajați
Aici, mai întâi WHERE selectează rândurile cu salarii peste 50000, apoi datele sunt grupate pe departamente, iar HAVING filtrează grupurile după numărul de angajați.