Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

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

Primeiro criei duas tabelas: alunos & notas.

CREATE TABLE Alunos (
    ID_aluno INT PRIMARY KEY,
    Nome VARCHAR(100),
    Curso VARCHAR(100)
);

CREATE TABLE Notas (
    ID_nota INT PRIMARY KEY,
    ID_aluno INT,
    Nota DECIMAL(5,2),
    FOREIGN KEY (ID_aluno) REFERENCES Alunos(ID_aluno)
);

Depois inseri algumas informações nas tabelas que criei.

INSERT INTO Alunos (ID_aluno, Nome, Curso) VALUES
(1, 'Laís Moraes', 'Arquitetura'),
(2, 'Maria Clara', 'Odontologia'),
(3, 'Adilson', 'Psicologia');

INSERT INTO Notas (ID_nota, ID_aluno, Nota) VALUES
(1, 1, 9.0),
(2, 2, 8.5),
(3, 3, 7.0);

Logo depois, fiz a consulta.

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

SELECT * from Notas;

No final, a consulta me trouxe como resultado a aluna Laís Moraes com a maior nota.

1 resposta
solução!

Olá Laís, tudo bem?

Agradeço por compartilhar seu código com a comunidade Alura.

É isso aí! A consulta que você criou está correta e cumpre o objetivo de identificar o aluno com a maior nota.

Uma dica interessante para o futuro é utilizar JOIN com ORDER BY, que também pode ajudar a encontrar a maior nota relacionando as tabelas diretamente. Veja este exemplo:


SELECT a.nome, n.nota
FROM alunos a
JOIN notas n ON a.id_aluno = n.id_aluno
ORDER BY n.nota DESC
LIMIT 1;

Neste exemplo, o JOIN conecta as tabelas alunos e notas, depois ORDER BY organiza as notas da maior para a menor e LIMIT 1 retorna apenas o maior valor encontrado.

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!