Sobes.tech
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.