no exercício diz que só é possível alcançar o mesmo resultado usando comando left join, porém acredito ter chego a mesmo conclusão usando o comando not in. segue a sintaxe por mim utilizada:
select a.nome from aluno a where a.nome not in (select m.id from matricula m where m.aluno_id = a.id and m.data > now() - interval 45 day)