Bom dia a todos,
No exercício "Exiba a média das notas por curso." A minha resposta está diferente da resposta do instrutor, analisando vi que a resposta do instrutor está omitindo dados que deveriam estar no retorno da consulta, como por exemplo : "Cristaldo Santos" e "Manoel Santos".
Segue minha resposta:
select c.nome "Curso", round(AVG(n.nota)) "Média", a.nome "Nome aluno"
from nota n, resposta r, exercicio e, secao s, curso c, matricula m, aluno a
where r.id = n.resposta_id
and e.id = r.exercicio_id
and s.id = e.secao_id
and c.id = s.curso_id
and m.aluno_id = a.id
and m.curso_id = c.id
and a.nome like '%Silva%'
or a.nome like '%Santos%'
group by c.nome, a.nome
order by a.nome;
Resposta do instrutor:
select 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
where a.nome like '%Santos%' or a.nome like '%Silva%'
group by c.nome;
Gostaria de saber se a consulta que eu fiz está correto.
obs: A minha consulta está demorando 57 seg pra ser retornada. Como faço pra melhorar esse tempo?
obg