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