Sobes.tech
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:

  • WHERE filtrează rândurile înainte de grupare. Este utilizat pentru a limita setul de date inițial.
  • HAVING filtrează 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.