Junior — Middle
Care este diferența dintre condiția HAVING și condiția WHERE atunci când lucrați cu interogări SQL?
sobes.tech AI
Răspuns de la AI
Diferența principală dintre WHERE și HAVING în SQL:
- WHERE filtrează rândurile înainte de grupare (GROUP BY). Se aplică la înregistrările individuale ale tabelului.
- HAVING filtrează grupurile după efectuarea grupării. Este utilizat pentru condiții asupra funcțiilor agregate (de exemplu, COUNT, SUM).
Exemplu:
SELECT departament, COUNT(*) ca număr_angajați
FROM angajați
WHERE salariu > 50000 -- filtrăm angajații cu salariu peste 50000
GROUP BY departament
HAVING COUNT(*) > 10 -- selectăm departamentele cu mai mult de 10 angajați
Aici, WHERE selectează rândurile pentru grupare, iar HAVING filtrează datele deja grupate.