1
resposta

Gostaria de saber porque no join de aluno tem que ser a referencia de resposta e não de curso

select a.nome, c.nome, avg(n.nota) as media from nota n
    join resposta r on r.id = n.resposta_id
    join exercicio e on e.id = r.exercicio_id
    join secao s on s.id = e.secao_id
    join curso c on c.id = s.curso_id
    join aluno a on a.id = r.aluno_id
group by a.nome, c.nome
having avg(n.nota) < 5;
1 resposta

Não há relacionamento direto entre a tabela ALUNO e a tabela CURSO, mas há relacionamento direto entre ALUNO e RESPOSTA.

Veja a estrutura de cada tabela.