Não entendi muito bem a questão. podem me explicar?
Não entendi muito bem a questão. podem me explicar?
Guilherme , Bom dia !
a questão pergunta se é possivel fazer a consulta dos alunos que não foram matriculados sem usar o exists .
é possivel sim fazer sem usar o exists , porem na altura que você esta neste curso ainda você não aprendeu o comando left join onde ele pega todos elementos da tabela a esquerda independente se está relacionado com os elementos da direita .
e assim você consegue ver os alunos que não estão matriculados.
espero ter te ajudado .
E se eu usar o IN, que já vimos no curso.
SELECT A.NOME FROM ALUNO A WHERE A.ID NOT IN ( SELECT M.ALUNO_ID FROM MATRICULA M WHERE M.ALUNO_ID = A.ID AND M.DATA > (SELECT SYSDATE - INTERVAL '1' YEAR FROM DUAL ) );
Guilherme ,
o resultado da sua consulta é igual ao exercício anterior , porém o uso do comando in é pouco diferente do que está sendo usado .
o in é o comando utilizado quando precisamos , por muita condições para uma mesma coluna . para não ficar usando muito or ou and
tipo um exemplo :
SELECT * FROM cidade WHERE pais = 'USA' OR pais = 'BRA' OR pais = 'IRL';
você utiliza :
SELECT * FROM cidade WHERE pais IN ('USA', 'BRA', 'IRL');
assim a query ficar mais legível .