Considero la seguente tabella relazionale

<aside> 💡 Trovare la matricola degli studenti che hanno preso almeno un 30 e un 30 e lode, supponendo che il voto 30 e lode sia memorizzato come 33.
</aside>
select matricolastudente
from esame
where voto = 30
intersect
select matricolastudente
from esame
where voto = 33
<aside> 💡 Elencare i cognomi e i nomi dei professori e degli studenti presenti nella base di dati.
</aside>
select cognome, nome
from studente
union
select cognome, nome
from insegnante
<aside> 💡 Trovare i cognomi dei professori che non sono anche cognomi di studenti di Milano
</aside>
select cognome
from insegnante
except
select cognome
from studente
where città ='Milano'
<aside> 💡 Trovare i codici e i nomi dei corsi con il massimo numero di crediti
</aside>
select codice, nome
from corso
where numerocrediti = (select max(numerocrediti) from corso)
oppure
select codice, nome
from corso
where numerocrediti >= ALL (select numerocrediti from corso)
<aside> 💡 Trovare i codici e i nomi di tutti i corsi ad eccezione di quelli con il minor numero di crediti.
</aside>
select codice, nome
from corso
where numerocrediti != (select min(numerocrediti) from corso)
oppure
select codice, nome
from corso
where numerocrediti> ANY (select numerocrediti from corso)