Junior — Middle
Qual è la funzione dell'operatore HAVING in SQL e in cosa differisce da WHERE?
sobes.tech AI
Risposta dell'AI
La clausola HAVING in SQL viene utilizzata per filtrare i risultati dopo aver raggruppato i dati con GROUP BY. Permette di impostare condizioni per i dati aggregati.
Differenze rispetto a WHERE:
- WHERE filtra le righe prima del raggruppamento, lavora con singoli record.
- HAVING filtra i gruppi dopo l'aggregazione.
Esempio:
SELECT dipartimento, COUNT(*) AS numero_dipendenti
FROM dipendenti
GROUP BY dipartimento
HAVING COUNT(*) > 10;
Qui, WHERE non può essere usato per filtrare con COUNT(*), poiché è una funzione di aggregazione, mentre HAVING permette di selezionare solo i dipartimenti con più di 10 dipendenti.