1. DB Esami DB Esami – Query di riepilogo
`
S (Matr, SNome, Citta, ACorso) Matricole degli studenti che hanno sostenuto un esame
insieme (stesso corso, stessa data) alla matricola 415
C (CC, CNome, CD)
FK: CD REFERENCES D S
SELECT Matr
D (CD, CNome, Citta) Matr SNome Citta Acorso
FROM E
E (Matr, CC, Data, Voto) E
WHERE Matr <> '415'
FK: Matr REFERENCES S Matr CC Data Voto
AND (CC,Data) IN (SELECT CC,Data
FK: CC REFERENCES C
C
Basi di Dati FROM E
CC CNome CD
WHERE Matr = '415')
D
CD CNome Citta
Query di riepilogo
2 Query di riepilogo 3 Query di riepilogo
DB Esami – Query di riepilogo DB Esami – Query di riepilogo DB Esami – Query di riepilogo
` Studenti che hanno sostenuto tutti gli esami sostenuti dallo studente
` `
Per ogni studente, il voto massimo ottenuto, escludendo gli Selezionare per ogni docente il corso per il quale sono stati
124
esami con voto pari a 33 e considerando solo gli studenti con sostenuti il maggior numero di esami
più di 2 esami; ordinare il risultato per voti massimi crescenti SELECT *
FROM S SELECT C1.CD,C1.CC
WHERE Matr <> '124'
SELECT Matr, MAX(Voto) Studenti per i FROM C C1,E E1
AND NOT EXISTS
quali non esiste
FROM E WHERE C1.CC=E1.CC
(SELECT *
alcun esame FROM E E1
WHERE Voto <> 33 GROUP BY C1.CD,C1.CC
sostenuto da WHERE Matr='124'
GROUP BY Matr HAVING COUNT(*) >= ALL (SELECT COUNT(*)
AND NOT EXISTS
124 che essi
HAVING COUNT(*) > 2 FROM C C2,E E2
(SELECT *
non hanno
FROM E E2
ORDER BY 2 WHERE C2.CC=E2.CC
sostenuto
WHERE E2.Matr=S.Matr
AND C2.CD=C1.CD
AND E2.CC=E1.CC))
GROUP BY C2.CD,C2.CC)
4 Query di riepilogo 5 Query di riepilogo 6 Query di riepilogo