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

Dúvida no Ex. 4 da Aula 1 - Aluno sem matrícula e o EXISTS

Não entendi muito bem a questão. podem me explicar?

3 respostas

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 ) );

solução!

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 .