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

[Projeto] Desafio categoria mais requisitada

SELECT categoria.nome,
COUNT (aluno_curso.aluno_id) numero_alunos
FROM categoria
JOIN curso ON categoria.id = curso.categoria_id
JOIN aluno_curso ON curso.id = aluno_curso.curso_id
GROUP BY categoria.nome
ORDER BY numero_alunos DESC
LIMIT 1

1 resposta

Oi, Matheus! Como vai?

Agradeço por compartilhar seu projeto com a comunidade Alura. Participar desse tipo de desafio é uma ótima forma de consolidar o aprendizado em SQL.

Você aplicou bem os conceitos fundamentais da linguagem. No seu SELECT, o uso do COUNT junto ao aluno_id permite contar corretamente os alunos matriculados em cada curso. A construção com JOIN encadeado, ligando a tabela categoria à tabela curso pelo campo categoria_id, e depois à tabela aluno_curso pelo campo curso_id, demonstra um bom entendimento sobre relacionamento entre tabelas.

O campo numero_alunos foi nomeado de forma clara como alias, o que facilita a leitura do resultado. O GROUP BY agrupando por categoria.nome, combinado com ORDER BY numero_alunos DESC e LIMIT 1, garante que apenas a categoria mais requisitada seja retornada.

Uma dica interessante para o futuro é utilizar a função SUM() quando precisar somar valores numéricos de uma coluna. Veja este exemplo:


SELECT categoria_id,
SUM(valor) AS total
FROM vendas
GROUP BY categoria_id;

Nesse exemplo, SUM() soma os valores de cada categoria e retorna o total agrupado por grupo, diferente do COUNT, que apenas contabiliza as ocorrências.

Você já teve a oportunidade de combinar COUNT e SUM em uma mesma consulta?

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