Sobes.tech
Junior — Middle

Spiega le differenze tra l'operatore HAVING e la condizione WHERE in SQL e in quali casi dovrebbero essere usati.

sobes.tech AI

Risposta dell'AI

In SQL, la condizione WHERE filtra le righe prima della aggregazione, mentre HAVING lo fa dopo.

  • WHERE si applica alle singole righe della tabella e limita il set di dati che verrà aggregato.
  • HAVING si applica ai risultati delle funzioni di aggregazione e filtra i gruppi formati dalla clausola GROUP BY.

Esempio:

SELECT reparto, COUNT(*) as numero_dipendenti
FROM dipendenti
WHERE salario > 50000  -- filtriamo i dipendenti con salario superiore a 50000
GROUP BY reparto
HAVING COUNT(*) > 10    -- selezioniamo i reparti con più di 10 dipendenti

Usa WHERE per filtrare i dati di origine e HAVING per filtrare i risultati aggregati.