Junior — Middle
Care este diferența dintre operatorii HAVING și WHERE în SQL și în ce cazuri trebuie să fie folosiți?
sobes.tech AI
Răspuns de la AI
Operatorul WHERE este utilizat pentru filtrarea rândurilor înainte de gruparea datelor. Selectează rândurile care vor participa la operațiuni ulterioare, cum ar fi funcțiile de agregare.
Operatorul HAVING se aplică pentru filtrarea datelor deja grupate, adică după executarea GROUP BY. Permite filtrarea grupurilor în funcție de condiții de agregare.
Exemplu:
SELECT department, COUNT(*) AS employee_count
FROM employees
WHERE salary > 50000 -- filtrare rânduri după salariu
GROUP BY department
HAVING COUNT(*) > 5 -- filtrare grupuri după numărul de angajați
Rezumat:
- WHERE filtrează înregistrările individuale înainte de grupare.
- HAVING filtrează grupurile după grupare.
Utilizați WHERE pentru condiții pe câmpuri individuale, HAVING pentru condiții pe funcții de agregare.