1
resposta

[Projeto] Mão na massa: encontrando a maior nota

Passo 1 – Encontrar a nota maior
SELECT MAX(Nota)
FROM Notas;

Retorno apenas a nota máxima registrada na tabela Notas.

Exemplo de retorno: 10.

Passo 2 – Encontrar o ID do aluno que obteve essa nota
SELECT ID_aluno
FROM Notas
WHERE Nota = (
SELECT MAX(Nota)
FROM Notas
);

Aqui estamos filtrando uma tabela Notaspara pegar o ID do aluno que obteve nota maior.

Exemplo de retorno: 3.

Passo 3 – Trazer o nome do aluno
SELECT Nome
FROM Alunos
WHERE ID_aluno = (
SELECT ID_aluno
FROM Notas
WHERE Nota = (
SELECT MAX(Nota)
FROM Notas
)
);

Nesta consulta final, usamos um subconsupara conectar as tabelas `AlunosAlunose Notas.

O resultado será o nome do aluno com nota maior , por exemplo: Ana Maria Silva.

✅ Observação:

Se houver mais de um aluno com a mesma nota máxima , essa consulta só retorna o primeiro encontrado .

Para retornar todos os alunos com nota maior, podemos usar INem vez de =:

SELECT Nome
FROM Alunos
WHERE ID_aluno IN (
SELECT ID_aluno
FROM Notas
WHERE Nota = (
SELECT MAX(Nota)
FROM Notas
)
);

1 resposta

Oi, Moacir! Como vai?

Agradeço por compartilhar sua solução com a comunidade Alura.

Suas subconsultas para encontrar a maior nota e relacionar corretamente as tabelas Notas e Alunos. Interessante você observar o impacto do uso de = e IN quando existem empates na nota máxima. Continue assim!

Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!

Para saber mais:

Sugestão de conteúdo:

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!