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

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

Eu não entendi a resposta do instrutor, acho que o comando:

select a.nome from aluno a where ( select count(m.id) from matricula m where m.aluno_id = a.id and m.data > (select sysdate - interval '1' year from dual)) = 0;

funciona "como um exists" sim entretanto usar um "exists" e não foi necessário usar um left join.

8 respostas

Adilson, Boa tarde !

O exercico proposto pergunta se e possivel outra maneira de fazer a pesquisa do exercicio anterior que para verificar quais aluno não foram matriculado .

A unica maneira é atraves do left join ! Onde vc ira aprender mais para frente . mas irar mostrar todos resultados da tabela aluno

A query q você fez e é de um intervalo de um ano

Espero ter ajudado bons estudos

Concordo que filtreí por um ano, pois o exercício solicita isso, porém removendo essa condição obtenho o mesmo resultado do exists com:

select a.nome from aluno a where ( select count(m.id) from matricula m where m.aluno_id = a.id ) = 0;

Adilson,

sim sua solução dará a mesma a resposta , aparece o nomes das pessoas que não está matriculada em nenhum curso .

Nesse caso a resposta do instrutor está errada, recomendo que vcs alterem.

solução!

Adilson ,

você pode sugerir a correção do exercicio , através do link sugira correção ao lado do exercicio .

Opa, vlw vou sugerir isso

Boa tarde Adilson, a sua resposta está correta sim. Acho que você não chegou a fazer a sugerir a correção do exercício, mas eu já o corrigi, agradeço pelo feedback.

Eu esqueci mano, mal ae. Vou marcar este post como solucionado.