Junior — Middle
Qual è la differenza tra le condizioni WHERE e HAVING quando si lavora con query SQL?
sobes.tech AI
Risposta dell'AI
In SQL, le condizioni WHERE e HAVING vengono utilizzate per filtrare i dati, ma si applicano in fasi diverse dell'elaborazione della query:
WHEREfiltra le righe prima della suddivisione in gruppi e dell'aggregazione. Limita il set di dati che verrà utilizzato nella query.HAVINGfiltra i gruppi dopo l'applicazione delle funzioni di aggregazione (ad esempio,SUM,COUNT,AVG). Viene usato per limitare i risultati dell'aggregazione.
Esempio:
SELECT dipartimento, COUNT(*) as numero_dipendenti
FROM dipendenti
WHERE salario > 50000 -- filtra i dipendenti con salario > 50000
GROUP BY dipartimento
HAVING COUNT(*) > 10; -- seleziona i dipartimenti con più di 10 dipendenti
Qui, WHERE seleziona i dipendenti con salario superiore a 50000, e HAVING filtra i dipartimenti con più di 10 dipendenti.