O exercício diz:
Busque todos os alunos que não tiveram nenhuma matrícula no ano de 2015, usando a instrução EXISTS
E o gabarito apresentado é:
select a.nome from aluno a where not exists ( select m.id from matricula m where m.aluno_id = a.id and m.data > (select sysdate - interval '1' year from dual));
A query do gabarito traz, por exemplo, o aluno Jose da Silva, que teve matricula apenas em 2014.
Pesquisei uma forma de extrair apenas o ano, o gabarito poderia ser a query abaixo?
SELECT A.NOME FROM ALUNO A
WHERE NOT EXISTS
(SELECT 1 FROM MATRICULA M WHERE M.ALUNO_ID = A.ID
AND EXTRACT(YEAR FROM DATA) = 2015
)
;