1
resposta

[Projeto] Resolução exercício

Tive um pouco de dificuldades de pensar o código como um todo, mas quando separei os raciocínios para depois juntá-los, facilitou bastante. Segue a baixo o código que fiz.

-- Encontrando a maior nota

SELECT MAX(nota) from Notas;

-- Encontrando o id do aluno 

SELECT id_aluno from Notas
where id_aluno = (
  SELECT MAX(nota) 
  from Notas
);

-- Encontrando o nome do aluno com a maior nota.

SELECT nome from Alunos
where id_aluno = (
  SELECT id_aluno 
  from Notas
  where id_aluno = (
    SELECT MAX(nota) 
      from Notas
    )
);
1 resposta

Olá Gabriel. Tudo bem com você?

Realmente, quebrar o problema em partes é uma boa estratégia para resolver desafios maiores. Você está no caminho certo, mas notei um pequeno detalhe na sua consulta. No último where deveria estar where nota você colocou where id_aluno.

Da forma como está, você está comparando id_aluno com MAX(nota), que são de tipos diferentes. A forma correta é:

-- Encontrando o id do aluno com a maior nota
SELECT id_aluno FROM Notas
WHERE nota = (
  SELECT MAX(nota) FROM Notas
);

Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!