Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
2
respostas

Opção

Boa tarde! Na realidade não se trata de uma dúvida, mas de um sql diferente da Opinião do Instrutor, mas que produz o mesmo resultado.

Esse é o sql da Opinião do Instrutor:

select c.nome, avg(n.nota) 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
group by c.nome

E essa foi minha resposta:

select c.nome, avg(n.nota) from curso c 
join secao s on s.curso_id = c.id 
join exercicio e on e.secao_id = s.id 
join resposta r on r.exercicio_id = e.id 
join nota n on n.resposta_id = r.id
group by c.nome;

Que produziu o mesmo resultado:

+-----------------------+-------------+
| nome                  | avg(n.nota) |
+-----------------------+-------------+
| PHP e MySql           |      4.8571 |
| Scrum e métodos ágeis |      5.7778 |
| SQL e banco de dados  |      6.2727 |
+-----------------------+-------------+
3 rows in set (0.00 sec)
2 respostas
solução!

Oi Jonas,

Boa! Que bom que você conseguiu fazer de uma outra forma. Vou pedir pra colocarem uma nota dizendo que esta resposta também funciona!

Bons estudos!

Obrigado Joviane! :-)