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.