Eu fiz um Join com a tabela Matricula para relcionar as Tabelas Aluno e Curso:
SELECT CURSO.NOME, AVG(NOTA.NOTA) FROM NOTA JOIN RESPOSTA ON RESPOSTA.ID = NOTA.RESPOSTA_ID JOIN EXERCICIO ON EXERCICIO.ID = RESPOSTA.EXERCICIO_ID JOIN SECAO ON SECAO.ID = EXERCICIO.SECAO_ID JOIN CURSO ON CURSO.ID = SECAO.CURSO_ID JOIN MATRICULA ON MATRICULA.CURSO_ID = CURSO.ID JOIN ALUNO ON ALUNO.ID = MATRICULA.ALUNO_ID WHERE ALUNO.NOME LIKE '%SILVA%' OR ALUNO.NOME LIKE '%SANTOS' GROUP BY CURSO.NOME;
Mas a resolução do exercício faz um JOIN entre as tabelas ALUNO e RESPOSTA.
Os resultados também foram um pouco diferentes:
Meu resultado: +-----------------------+----------------+ | NOME | AVG(NOTA.NOTA) | +-----------------------+----------------+ | SQL e banco de dados | 6.2727 | | Scrum e métodos ágeis | 5.7778 | +-----------------------+----------------+
Resultado do Alura:
-----------------------+-------------+ | nome | avg(n.nota) | +-----------------------+-------------+ | SQL e banco de dados | 6.2857 | | Scrum e métodos ágeis | 5.7778 | +-----------------------+-------------
Gostaria de saber se devo tentar fazer a menor quantidade de JOIN possivel e entender o porque dessa diferença.