Mão na massa: gerenciamento escolar com banco de dados relacional (Resolvido) .
/* Consulta 1: Buscar o nome do professor e a turma que ele é orientador */
SELECT PROF.Nome_Professor, T.Nome_Turma
FROM PROFESSORES PROF
INNER JOIN TURMAS T ON PROF.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 AL.Nome_Aluno, D.Nome_Disciplina, MAX(N.Nota) AS Nota
FROM ALUNOS AL
INNER JOIN NOTAS N ON AL.ID_Aluno = N.ID_Aluno
INNER JOIN DISCIPLINAS D ON N.ID_Disciplina = D.ID_Disciplina
WHERE D.Nome_Disciplina = 'Matemática'
GROUP BY AL.Nome_Aluno, D.Nome_Disciplina
ORDER BY Nota DESC
LIMIT 1;
/* Consulta 3: Identificar o total de alunos por turma */
SELECT COUNT(*) AS 'TOTAL ALUNOS POR TURMA',
T.Nome_Turma
FROM ALUNOS AL
INNER JOIN TURMA_ALUNOS TA ON AL.ID_Aluno = TA.ID_Aluno
INNER JOIN TURMAS T ON T.ID_Turma = TA.ID_Turma
GROUP BY T.ID_Turma;
/* Consulta 4: Listar os Alunos e as disciplinas em que estão matriculados */
SELECT AL.Nome_Aluno, D.Nome_Disciplina
FROM ALUNOS AL
join Turma_Alunos TA on AL.ID_Aluno = TA.ID_Aluno
join Turma_Disciplinas TD on TA.ID_Turma = TD.ID_Turma
join Disciplinas D ON D.ID_Disciplina = TD.ID_Disciplina;
/* Consulta 5: Criar uma view que apresenta o nome, a disciplina e a nota dos alunos */
CREATE VIEW NOTA_ALUN0 AS
SELECT AL.Nome_Aluno, D.Nome_Disciplina, N.Nota
FROM ALUNOS AL
INNER JOIN Disciplinas D ON AL.ID_Aluno = D.ID_Disciplina
INNER JOIN NOTAS N ON AL.ID_Aluno = N.ID_Aluno;
SELECT * FROM NOTA_ALUN0;