Middle
Întrebare standard despre SQL: care este diferența dintre WHERE și HAVING?
sobes.tech AI
Răspuns de la AI
Diferența principală dintre WHERE și HAVING în SQL constă în etapa în care filtrează datele:
WHEREfiltrează rândurile înainte de grupare. Este utilizat pentru a limita setul de date inițial.HAVINGfiltrează grupurile după aplicarea funcțiilor de agregare și grupare (GROUP BY).
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 limitează rândurile inițiale, iar HAVING grupurile finale.