Esercizio no.3:soluzione
q0) per la creazione della tabella si usa:
CREATE TABLE Studenti(
id COUNTER PRIMARY KEY,
nome CHAR(20),
classe INTEGER,
sezione CHAR(1),
media FLOAT,
luogo CHAR(20) );
q1) Elenca il nome, la media, la classe e la sezione
di tutti gli studenti insufficienti.
SELECT nome, media, classe, sezione FROM Studenti WHERE
media<6;
q2) Elenca nome e voti di tutti gli studenti
del 4°anno in ordine discendente per voti.
SELECT nome, media FROM Studenti
WHERE classe=4 ORDER BY media DESC;
q3) Elenca le città da cui provengono gli studenti
con la media voti migliore in ordine discendente.
SELECT luogo,
AVG(media) AS MEDIE
FROM Studenti
GROUP BY luogo
ORDER BY AVG(media) DESC;
q4) Conta quanti studenti ci sono per ogni
per ogni classe
SELECT classe, sezione, COUNT(*) AS TOT
FROM Studenti
GROUP BY classe, sezione;
q5) Elenca la media dei voti di ogni classe
in ordine discendente
SELECT classe,
sezione, AVG(media) AS MEDIE
FROM Studenti
GROUP BY classe, sezione
ORDER BY AVG(media) DESC;
q6) Elenca i nomi e la media dei primi tre studenti
dalla media migliore.
SELECT TOP 3 nome,
media FROM Studenti ORDER BY media DESC;
quest'ultima illustra il funzionamento dell'operatore
TOP, ma fallisce (o forse no ) infatti per questa tabella restituisce
4 record in quanto al terzo posto vi sono due studenti a pari merito.
|