Samuel ,
Sim , mas está dando certo apenas com o exericicio , "USANDO O EXISTS" , que é para saber quantos alunos estão matriculados .
Vamos entender sua Query
a palavra distinct , ela não deixa repetir o resultado no caso , se você fizer a seguinte query :
mysql> select a.nome from aluno a
-> join matricula m on m.aluno_id = a.id;
irá perceber que repete um dos nomes ok .
quando fazemos inner join , ele irá buscar todos elementos que estão relacionado na tabela .
agora acredito que o exericico quer saber se é possivel saber se tem algum aluno que não está matriculado .
neste caso é só utilizando o comando left join que será ensinado mais para frente .
espero ter te ajudado .