Daniel,
Desculpa , não percebi que era sql server e acabei fazendo no mySQL .
No SQL server fiz o teste e realmente dá zero na resposta . porém percebi que ele só pega o número inteiro .
fiz o testa ao contrario da questão e coloquei :
quantidade total de curso / quantidade de cada curso
segue a SQL :
select c.nome,
count(m.id) as 'Quantidade de matriculas por curso',
(select count(m1.id) from matricula m1) /count(m.id)
from curso c
join matricula m on m.curso_id = c.id
group by c.nome
e o resultado foi :
3
7
7
7
3
só inteiro , pois id é inteiro . então pensei comigo vou fazer um cast dessa nova coluna para decimal segue o sql :
select c.nome,
count(m.id) as 'Quantidade de matriculas por curso',
cast(((select count(m1.id) from matricula m1) /count(m.id)) as decimal(10,5))
from curso c
join matricula m on m.curso_id = c.id
group by c.nome
e o resultado foi :
3.00000
7.00000
7.00000
7.00000
3.00000
então ele aparecerá somente o valor inteiro , como no caso do exercicio o valor inteiro é 0 (zero) ele dará somente 0
espero ter ajudado