1
resposta

Resultado incorreto

Na primeria consulta

select a.nome from aluno a where not exists 
(select m.id from matricula m where m.aluno_id = a.id);

o resultado foi de apenas um registro: "Paulo da Silva".

Na segunda consulta onde existe um filtro

(where m.data > now() - interval 6 month)

o resultado foi de 3 registros. segunda consulta:

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 6 month);

A segunda consulta não deveria retornar menos registros que a primeira? Visto que aquela é mais restritiva.

1 resposta

Oi Silvio, acho que você tem razão... mas acho que tem mais alguma coisa aí que não estamos vendo... tem como colocar aqui os registros de cada tabela?