Middle
Qual è la differenza tra WHERE e HAVING?
sobes.tech AI
Risposta dell'AI
In SQL, l'operatore WHERE viene utilizzato per filtrare le righe prima della aggregazione, cioè limita il set di dati che parteciperà alla query.
HAVING viene applicato per filtrare i dati già raggruppati, cioè dopo l'esecuzione di funzioni aggregate e raggruppamenti.
Esempio:
SELECT department, COUNT(*) as employee_count
FROM employees
WHERE salary > 50000 -- filtriamo i dipendenti con uno stipendio superiore a 50000
GROUP BY department
HAVING COUNT(*) > 10 -- selezioniamo i dipartimenti con più di 10 dipendenti
Qui, prima WHERE seleziona le righe con uno stipendio superiore a 50000, poi i dati vengono raggruppati per dipartimento, e HAVING filtra i gruppi in base al numero di dipendenti.