5° Anno TEORIA 4. Introduzione al linguaggio SQL | Page 46

16 . Il linguaggio SQL Vers . 9.3 – Marzo 2024
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