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

14 - Mão na massa: gerenciamento escolar com banco de dados relacional (Resolvido)

Segue a resolução dos exercicos propostos:

--Consulta 1: Retorne todas as disciplinas

SELECT * FROM Disciplinas;

--Consulta 2: Retorne os alunos que estão aprovados na disciplina de matemática

SELECT A.Nome_Aluno, N.Nota, D.Nome_Disciplina
FROM Alunos A
INNER JOIN Notas N ON A.ID_Aluno = N.ID_Nota
INNER JOIN Disciplinas D ON D.ID_Disciplina = N.ID_Disciplina
WHERE D.Nome_Disciplina = 'Matemática' AND N.Nota >= '7'
ORDER BY NOTA DESC;

--Consulta 3: Identificar o total de disciplinas por turma

SELECT COUNT(TD.ID_Disciplina) AS TOTAL_DISCIPLINA, T.Nome_Turma
FROM Disciplinas D
INNER JOIN Turma_Disciplinas TD ON D.ID_Disciplina = TD.ID_Disciplina
INNER JOIN Turmas T ON T.ID_Turma = TD.ID_Turma
GROUP BY T.Nome_Turma;

--Consulta 4: Porcentagem dos alunos que estão aprovados

SELECT
    (SELECT COUNT(*) FROM Alunos) AS Total_Alunos,
    (SELECT COUNT(*) FROM Alunos a JOIN Notas n ON n.ID_Aluno = a.ID_Aluno WHERE n.Nota >= 7.0) AS Alunos_Aprovados,
    (SELECT COUNT(*) FROM Notas) AS Total_Notas,
    (ROUND(100.0 * (SELECT COUNT(*) FROM Alunos a JOIN Notas n ON n.ID_Aluno = a.ID_Aluno WHERE n.Nota >= 7.0) / (SELECT COUNT(*) 
    FROM Notas), 2) || '%') AS Porcentagem


--Consulta 5: Porcentagem dos alunos que estão aprovados por disciplina

 SELECT d.Nome_Disciplina AS Disciplina,
 COUNT(*) AS Total_Alunos,
 SUM(CASE WHEN n.Nota >= 7.0 THEN 1 ELSE 0 END) AS Alunos_Aprovados,
 ROUND (SUM(CASE WHEN n.Nota >= 7.0 THEN 1 ELSE 0 END) * 100.0 / COUNT(*), 2) || '%' AS Porcentagem_Aprovados
FROM Alunos a 
INNER JOIN Notas n ON n.ID_Aluno = a.ID_Aluno
INNER JOIN Disciplinas d ON d.ID_Disciplina = n.ID_Disciplina
GROUP BY Disciplina;
1 resposta
solução!

Olá, Douglas! Tudo bem?

Que bom ver você colocando em prática os conhecimentos adquiridos no curso! Parabéns pelo empenho e dedicação!

Obrigada por compartilhar o desafio conosco! Lembre-se de que, além de compartilhar aqui no fórum, você também pode marcar a Alura nas redes sociais.

A Alura tem perfis em várias redes sociais, você pode encontrá-los aqui. E não se esqueça do nosso Discord de alunos da Alura.

Um abraço e bons estudos.