Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

DUVIDA NO EXERCICIO

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

2 respostas
solução!

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