Ciao,
ero partito proprio dall'innerjoin ...e qui ci sono
L'elemento problemtico è la stampa dei record.

- parto con inner join + ciclo WHILE
e
mi stampa
1) Docente Giovanni
Corso: filosofia immorale

2) Docente: Giovanni
Corso: psicologia

- MA vorrei arrivare ad ottenere questo
1) Docente Giovanni
Corso: filosofia immorale, psicologia

Non dovrei utilizzare un altro ciclo all'interno del ciclo WHILE?
Artiginalmente farei una query dentro un'altra query...

nella prima passo i vari id dei docenti e poi per ognuno un'ulteriore query nella quale si seleziona della tabella dei corsi tutt quelli che sono associati al suddetto docente

Ma, questa soluzione mi sembra molto artigianale..ed gravi sulla "pesantezza" dell'esecuzione dello script

(adesso riguardo anche la soluzione che mi avevi suggerito.)