1
resposta

[Projeto] Conclusão do projeto

Abaixo minha resolução

-- Consulta 1: Buscar o nome do professor e a turma que ele é orientador
SELECT 
    p.Nome_Professor,
    t.Nome_Turma 
FROM 
    Professores p
JOIN Turmas t ON p.ID_Professor = t.ID_Professor_Orientador; 

-- Consulta 2: Retornar o nome e a nota do aluno que possui a melhor nota na disciplina de Matemática
SELECT
    a.Nome_Aluno,
    n.Nota,
    d.Nome_Disciplina -- Checagem
FROM 
    Alunos a
INNER JOIN Notas n ON a.ID_Aluno = n.ID_Aluno
INNER JOIN Disciplinas d ON n.ID_Disciplina = d.ID_Disciplina
WHERE 
    d.Nome_Disciplina = 'Matemática'
ORDER BY
    n.Nota DESC
LIMIT 1;

-- Consulta 3: Identificar o total de alunos por turma
SELECT
    t.Nome_Turma,
    COUNT(ta.ID_Turma) as Alunos
FROM 
    Turmas t
INNER JOIN Turma_Alunos ta ON t.ID_Turma = ta.ID_Turma 
GROUP BY 
    t.Nome_Turma;

-- Consulta 4: Listar os Alunos e as disciplinas em que estão matriculados
SELECT 
    a.Nome_Aluno,
    d.Nome_Disciplina 
FROM 
    Alunos a
INNER JOIN Turma_Alunos ta ON a.ID_Aluno = ta.ID_Aluno
INNER JOIN Turma_Disciplinas td ON ta.ID_Turma = td.ID_Turma
INNER JOIN Disciplinas d ON td.ID_Disciplina = d.ID_Disciplina;

-- Consulta 5: Criar uma view que apresenta o nome, a disciplina e a nota dos alunos
CREATE VIEW Aluno_Disciplina_Nota AS
SELECT
    a.Nome_Aluno,
    d.Nome_Disciplina,
    n.Nota
FROM
    Alunos a
INNER JOIN Notas n ON a.ID_Aluno = n.ID_Aluno 
INNER JOIN Disciplinas d ON n.ID_Disciplina = d.ID_Disciplina
ORDER BY 
    a.Nome_Aluno; -- Para melhor visualização por aluno
1 resposta

Oi Gabriel,

Parabéns pela conclusão do projeto! 👏

Suas consultas SQL estão bem estruturadas e resolvem os problemas propostos.

Gostaria de destacar alguns pontos que podem enriquecer ainda mais seu aprendizado:

  • Consulta 1: Ótima utilização do JOIN para relacionar professores e turmas.
  • Consulta 2: Excelente uso do ORDER BY e LIMIT para encontrar o aluno com a maior nota em matemática. A inclusão do nome da disciplina na seleção é uma boa prática para checagem. 👍
  • Consulta 3: A contagem de alunos por turma está correta, utilizando COUNT e GROUP BY.
  • Consulta 4: A consulta que lista alunos e disciplinas está bem construída, utilizando múltiplos JOINs.
  • Consulta 5: A criação da view Aluno_Disciplina_Nota está perfeita, facilitando consultas futuras. A ordenação por nome do aluno na view também é uma boa prática para visualização. 💪

Para saber mais: Documentação oficial do MySQL sobre JOINs.

Continue praticando e explorando novas funcionalidades do SQL! 💻