16. Il linguaggio SQL Vers. 11.0 – Gennaio 2026
5) Funzione AVG SINTASSI:
AVG([ DISTINCT ] < NomeAttributo >) [ AS < Alias >]
La funzione AVG( dall’ inglese Average) può essere usato solo su dati numerici o intervalli di tempo e calcola la media aritmetica dei valori numerici contenuti in una determinata colonna di una tabella, con l’ eventuale aggiunta dell’ opzione DISTINCT.
L’ argomento della funzione può essere un’ espressione aritmetica anziché il nome dì un attributo. La funzione non include nel calcolo i valori di tipo NULL presenti nella colonna.
La seguente interrogazione restituisce la media degli stipendi( diversi da NULL) relativi a tutte le righe presenti nella tabella " Dipendente ":
SELECT AVG( Stipendio) FROM Dipendente;
+---------------- + | AVG( Stipendio) | +---------------- + | 2275.000000 | +---------------- +
GLI ORDINAMENTI
Finora non abbiamo fatto alcuna ipotesi sull’ ordine in cui possono apparire le righe di una tabella risultato dell’ istruzione SELECT( ossia di una query).
In SQL è possibile ordinare tali righe utilizzando alcune clausole all’ interno dell’ istruzione SELECT ORDER BY < NomeAttributo1 > [ ASC | DESC ], …, < NomeAttributoN > [ ASC | DESC ]
dove ASC sta per ordine crescente( dall’ inglese " ascending " ed è l’ ordinamento di DEFAULT se non specificato altrimenti) e DESC per ordine decrescente( dall’ inglese " descending ")
L’ ordinamento viene eseguito dapprima sul primo attributo indicato dall’ ORDER BY e poi a parità di ordinamento su di esso, si ordina sulla base del secondo attributo e così via.
La seguente interrogazione restituisce i nominativi dei dipendenti che guadagnano più di 3000,00 euro ordinati per cognome decrescente:
SELECT Cognome, Nome FROM Dipendente WHERE( Stipendio > 2000.00) ORDER BY Cognome DESC;
+------------ +---------- + | Cognome | Nome | +------------ +---------- + | Verstappen | Max | | Costanzo | Maurizio | +------------ +---------- +
La seguente interrogazione invece restituisce i nominativi di tutti i dipendenti ordinati per cognome e nome crescenti:
SELECT Cognome, Nome FROM Dipendente ORDER BY Cognome, Nome;
equivalente a
SELECT Cognome, Nome FROM Dipendente ORDER BY Cognome ASC, Nome ASC;
+------------ +---------- + | Cognome | Nome | +------------ +---------- + | Costanzo | Maurizio | | Costanzo | Renato | | Marini | Valeria | | Verstappen | Max | +------------ +---------- +
Autore: Rio Chierego( email: riochierego @ libero. it- sito web: www. riochierego. it) Pag. 46