select nome_aluno, nota from Alunos join Notas on Notas.ID_Aluno = Alunos.ID_Aluno where id_disciplina = ( select id_disciplina from Disciplinas where nome_disciplina = 'Matemática') ORDER by nota desc limit 1;
select nome_aluno, nota from Alunos join Notas on Notas.ID_Aluno = Alunos.ID_Aluno where id_disciplina = ( select id_disciplina from Disciplinas where nome_disciplina = 'Matemática') ORDER by nota desc limit 1;
Oi Guilherme!
A sua consulta SQL ta em um ótimo caminho, só uma observação para encontrar o aluno com a maior nota na disciplina de Matemática. Nesse caso podemos usar o ORDER BY Notas.nota DESC
para ordenar as notas em ordem decrescente e LIMIT 1
para pegar apenas a maior nota.
Pode ficar nessa linha:
SELECT Alunos.nome_aluno, Notas.nota
FROM Alunos
JOIN Notas ON Notas.ID_Aluno = Alunos.ID_Aluno
JOIN Disciplinas ON Notas.ID_Disciplina = Disciplinas.ID_Disciplina
WHERE Disciplinas.nome_disciplina = 'Matemática'
ORDER BY Notas.nota DESC
LIMIT 1;
No mais, só essa observação, meus parabéns!
Reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!
Sucesso ✨
Um grande abraço e até mais!