No exercício 05 do módulo 1, as respostas fornecidas do exercício produzem resultados diferentes. Isso me leva a pensar que elas não são equivalentes, ou, pelo menos uma das duas estão com semântica errada. Vejam:
select a.nome from aluno a
-> where
-> not exists
-> (select m.id from matricula m
-> where m.aluno_id = a.id and m.data > now() - interval 45 day
-> );
resulta em 5 resultados, enquanto
select a.nome from aluno a where exists ( select m.id from matricula m where m.aluno_id = a.id and m.data < now() - interval 45 day);
entrega 4 resultados. Qual delas é a correta, se tem alguma correta de acordo com o exercício?