1. GROUP BY
L'operatore GROUP BY viene utilizzato per raggruppare le righe che hanno gli stessi valori in specifiche colonne. Può essere utilizzato per aggregare dati.
Sintassi:
SELECT colonna1, funzione_aggregazione(colonna2) FROM tabella GROUP BY colonna1;
2. HAVING
L'operatore HAVING è usato per filtrare i record che soddisfano una determinata condizione dopo che sono stati raggruppati. A differenza di WHERE, che filtra le righe prima del raggruppamento, HAVING filtra i gruppi creati da GROUP BY.
Sintassi:
SELECT colonna1, funzione_aggregazione(colonna2) FROM tabella GROUP BY colonna1 HAVING condizione;
Funzioni di Aggregazione
Le funzioni di aggregazione sono spesso utilizzate con GROUP BY per fornire un calcolo sui gruppi di dati. Ecco alcune delle funzioni di aggregazione più comuni:
- COUNT(): conta il numero di righe.
- SUM(): calcola la somma dei valori numerici di una colonna.
- AVG(): calcola la media dei valori numerici.
- MAX(): trova il valore massimo in una colonna.
- MIN(): trova il valore minimo in una colonna.
Esempio:
SELECT dipartimento, COUNT(*) FROM impiegati GROUP BY dipartimento HAVING COUNT(*) > 5;
Questo esempio conta il numero di impiegati in ogni dipartimento e seleziona solo i dipartimenti con più di 5 impiegati.
Questi operatori e funzioni permettono di eseguire analisi complesse e di estrarre informazioni significative dai dati aggregati in un database relazionale.