EU PODERIA FAZER ASSIM?
SELECT A.NOME FROM ALUNO A JOIN MATRICULA ON M.ALUNO_ID = A.ID WHERE NOT M.DATA > (SELECT SYSDATE - INTERVAL '1' YEAR FROM DUAL);
ESTOU MEIO CONFUSO..
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
EU PODERIA FAZER ASSIM?
SELECT A.NOME FROM ALUNO A JOIN MATRICULA ON M.ALUNO_ID = A.ID WHERE NOT M.DATA > (SELECT SYSDATE - INTERVAL '1' YEAR FROM DUAL);
ESTOU MEIO CONFUSO..
Oi Matheus,
Essa query que você mandou não roda. O NOT deveria vir seguido de um IN ou de um EXISTS.
A outra alternativa de fazer esta query sem o exists é usando o left join. Ficaria assim:
SELECT a.nome
FROM aluno a
LEFT JOIN matricula m
ON a.id = m.aluno_id
AND m.data < (SELECT SYSDATE - INTERVAL '1' YEAR FROM dual);
Abraço!
Oi Joviane, obrigado pela resposta, agora ficou claro!!
abraço!!