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..
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!!