Sobes.tech
Junior — Middle

Care este scopul operatorului HAVING în SQL și în ce constă diferența față de WHERE?

sobes.tech AI

Răspuns de la AI

Clauza HAVING în SQL este utilizată pentru a filtra rezultatele după ce datele au fost grupate cu GROUP BY. Permite stabilirea condițiilor pentru datele agregate.

Diferența față de WHERE:

  • WHERE filtrează rândurile înainte de grupare, lucrează cu înregistrări individuale.
  • HAVING filtrează grupurile după agregare.

Exemplu:

SELECT departament, COUNT(*) AS număr_angajați
FROM angajați
GROUP BY departament
HAVING COUNT(*) > 10;

Aici, nu se poate folosi WHERE pentru filtrarea după COUNT(*), deoarece este o funcție de agregare, în timp ce HAVING permite selectarea doar a departamentelor cu mai mult de 10 angajați.