Junior — Middle
Care este diferența dintre condițiile WHERE și HAVING atunci când lucrați cu interogări SQL?
sobes.tech AI
Răspuns de la AI
În SQL, condițiile WHERE și HAVING sunt utilizate pentru filtrarea datelor, dar se aplică în etape diferite ale procesării interogării:
WHEREfiltrează rândurile înainte de grupare și agregare. Limitează setul de date utilizat în interogare.HAVINGfiltrează grupurile după aplicarea funcțiilor de agregare (de exemplu,SUM,COUNT,AVG). Este folosit pentru a limita rezultatele agregării.
Exemplu:
SELECT departament, COUNT(*) ca numar_angajati
FROM angajati
WHERE salariu > 50000 -- filtrăm angajații cu salariu > 50000
GROUP BY departament
HAVING COUNT(*) > 10; -- selectăm departamente cu mai mult de 10 angajați
Aici, WHERE selectează angajații cu salariu peste 50000, iar HAVING filtrează departamentele cu mai mult de 10 angajați.