Ciao, domani devo sostenere l'esame di basi di dati e ho un dubbio che non è spiegato manco nelle slides del professore, in un esercizio con Select ANNIDATE
come questo:
Sia dato il seguente schema di db relazionale
Studente(IdStudente,Nome,Cognome)
Corso(IdCorso,Nome) Idcorso è un numerico univoco
Esame(Studente,Corso,Voto) Corso è numerico univoco
Ritornare in SQL gli identificatori dei corsi la cui media voto è maggiore della media voto calcoalta su tutti i corsi, usate una sola interrogazione:
Select idcorso
From Corso
Where ( Select avg(voto)
from esame
where corso=idcorso) > (Select avg(voto) from esame)
Allora, la prima select annidata mi restituisce una colonna senza il nome dell'attributo con per ogni riga la media dei voti di quel corso ? Oppure parto prima dalla select esterna (almeno a me verrebbe così a intuito) mi creo la colonna idcorso e ci filtro il campo Nome, poi per ogni corso mi vado a valutare la condizione ? Spiegatemi meglio come funziona l'ordine ç_ç
p.s. non c'è qlc per esercitarsi sul pc ?