Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Mão na massa: gerenciamento escolar com banco de dados relacional

--Consulta 1: Retornar a média de Notas dos Alunos em história.
SELECT AVG(nota) média FROM Notas
WHERE id_disciplina = 2;
--Consulta 2: Retornar as informações dos alunos cujo Nome começa com 'A'.
SELECT * from Alunos
where nome_aluno like 'A%'

--Consulta 3: Buscar apenas os alunos que fazem aniversário em fevereiro.
SELECT * FROM Alunos
WHERE STRFTIME('%m', data_nascimento) = '02';

--Consulta 4: Realizar uma consulta que calcula a idade dos Alunos.
SELECT nome_aluno, data_nascimento,
(strftime('%Y', CURRENT_DATE) - strftime('%Y', data_nascimento)) -
(strftime('%m-%d', CURRENT_DATE) < strftime('%m-%d', data_nascimento)) AS idade
FROM Alunos;

--Consulta 5: Retornar se o aluno está ou não aprovado. Aluno é considerado aprovado se a sua nota foi igual ou maior que 6.
SELECT
ID_Aluno As aluno,
nota,
CASE WHEN nota >= 6 THEN 'APROVADO'
ELSE 'REPROVADO' END
AS Resultado
FROM Notas;

1 resposta

Oi, Rafaela! Como vai?

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

Você aplicou bem diferentes recursos do SQL nas consultas propostas. Você empregou corrtemente a função AVG() para calcular a média das notas, o uso do LIKE para filtrar nomes e a lógica empregada no cálculo da idade, que considera corretamente mês e dia de nascimento. A consulta utilizando CASE WHEN para identificar alunos aprovados e reprovados também ficou bem organizada e fácil de interpretar.

Uma dica interessante para o futuro é utilizar a função COUNT() para descobrir quantos registros atendem a uma determinada condição. Veja este exemplo:


SELECT COUNT(*) AS total_aprovados
FROM Notas
WHERE nota >= 6;

Esse código conta quantos alunos possuem nota maior ou igual a 6, retornando o total de aprovados na consulta. Como você já está trabalhando com filtros e agregações, esse recurso pode ser bastante útil em análises futuras.

Para refletir: quais outras informações do banco de dados escolar poderiam ser obtidas utilizando funções de agregação como AVG(), COUNT(), MAX() e MIN()?

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!