1
resposta

Dúvida sobre o select...

Como ficaria o select para sabermos quantos alunos estão matriculados por curso, além deste select preciso de um exemplo de outro mostrando quais cursos e alunos estão matriculados.

1 resposta

Olá Renato, tudo bem? Não entendi bem quais consultas você deseja, mas "O select para sabermos quantos alunos estão matriculados por curso", no caso você deseja saber a quantidade de aluno matriculados em cada curso é isso? Se sim, então poderia ser da seguinte forma:

select curso.nome, count(*) from curso
    join matricula on matricula.curso_id = curso.id
    join aluno on aluno.id = matricula.aluno_id;

Com esse select acima, vamos ter uma lista com o nome de cada curso na coluna da esquerda e na coluna da direita a quantidade de alunos matriculados em cada curso.

E o outro select para saber quais cursos os alunos estão matriculados:

select curso.nome, aluno.nome from curso
    join matricula on matricula.curso_id = curso.id
    join aluno on aluno.id = matricula.aluno_id;

Com esse select acima, vamos ter uma lista com o nome de cada curso na coluna da esquerda e o nome dos alunos na coluna da direita, note que o nome do cursos vai se repetir para cada aluno. Se não foi os resultados não forem o que você estava esperando então especifica melhor qual os resultados que você espera e a gente tenta mudar essas query.