
Trovare la matricola degli studenti che hanno preso almeno un 30 e almeno un 30 e lode, supponendo che il voto “30 e lode” sia memorizzato come 33
select matricolastudente
from esame
where Voto = 30
intersect
select matricolastudente
from esame
where voto = 33
Elencare i cognomi e i nomi dei professori e degli studenti presenti nella base di dati.
select cognome, nome
from insegnante
union
select cognome, nome
from studente
Trovare i cognomi dei professori che non sono anche cognomi di studenti di Milano.
select cognome
from insegnante
except
select cognome
from studente
where città = 'Milano'
Trovare i codici e i nomi dei corsi con il massimo numero di crediti.
select codice, nome
from corso
where NumeroCrediti > all(select numerocrediti from corso)
Trovare i codici e i nomi di tutti i corsi ad eccezione di quelli con il minor numero di crediti.
select codice, nome
from corso
where numerocrediti> any (select numerocrediti from corso)
Estrarre matricola nome e cognome degli studenti che hanno preso almeno un 30 e non hanno mai preso meno di 24.
select matricola, nome, cognome
from studente join esame
where voto = 30, and matricolastudente <>(eccetto) all (select matricolastudente from esame where voto<24)
Trovare le informazioni sugli studenti e sugli esami che hanno sostenuto. Devono essere inclusi nel risultato anche gli studenti che non hanno sostenuto esami.
select *
from student left join esami on matricola=matricolastudente
Trovare la matricola degli studenti che hanno superato gli esami di tutti i corsi.
select matricolastudente
from esame join studente on matricola = matricolastudente
group by matricolastudente
having count(*) = (select count (*) from corso)
Trovare le matricole degli studenti che hanno preso più 30 e lode che 30.
select matricolastudente
from esame as e1
where es1.voto = 33
group by matricolastudente
having count(*) > (select count (*) from esame as e2 where e1.matricolastudente = e2.matricolastudente and e2.voto = 30) )
Calcolare la media delle medie dei voti ottenuti dagli studenti