clausula exist

18/06/2013

0

em quais momentos devo utilizar a clausula EXIST?
Mariana Carvalho

Mariana Carvalho

Responder

Posts

18/06/2013

Carlos Tangerino

Oi Mariana, Bom Dia! A cláusula EXISTS pode ser utilizada quando, basicamente, você não precisa de informações de uma outra tabela na sua query, mas precisa saber se alguma informação do seu select está ou não em uma outra tabela.
Por exemplo, quando você tem uma tabela de produtos e uma de pedidos, e você só quer trazer aqueles produtos que já tiveram pelo menos um pedido feito. Ou seja, você, pelo EXISTS, vai na tabela de pedidos, ligando por um id de produto, saber se ele está nessa tabela.

select pro.cod_produto, pro.descr_produto from produto pro
where exists (select 1 from pedido ped where ped.id_produto = pro.id_produto);

O mesmo pode ser feito para saber o contrário, quando deseja selecionar os produtos que não tem pedido feito, ou seja, utilize o NOT EXISTS.

select pro.cod_produto, pro.descr_produto from produto pro
where not exists (select 1 from pedido ped where ped.id_produto = pro.id_produto);

Espero ter esclarecido um pouco. Se precisar de algo mais específico, coloque aqui.
Responder

18/06/2013

Mariana Carvalho

poxa, muito interessante, muito legal a funcionalidade...
possi utilizar esses codigo SQL em alguma aplicação não é? interessante, colocar algum
sistema o botão que simplesmente apareça essas opções!!!

obrigada
Responder

18/06/2013

Alex Lekao

Ola Boa tarde!!!

Uma possibilidade de utilizado seria para informar quais itens nao tiveram vendas em um determinado periodo.

Itens sem vendas, no caso esse tipo de relatorio eh bastante util para saber os itens que estao encalhados e se fazer uma possivel promocao para capitalizar a empresa, aumentar o caixa ou simplesmente desencalhar produtos que nao estao vendendo para inativa-los.

Acredito que a unica coisa que precise ser verificada para se utilizar esta funcao eh a performance dela, se nao ha outra maneira de ter o mesmo resultado de maneira mais performatica.

E parabens ao amigo que colocou a explicacao, ela foi bem clara e objetiva de forma simples para o entendimento, eu sempre tive um pouco de dificuldade de entende-la e compreende-la, e do jeito que explicou ficou muito bom.

Obrigado.

Abraco.

Alex - Lekao
Responder

18/06/2013

Carlos Tangerino

Olá, obrigado Alex - Lekao! Tentei exemplificar da melhor maneira para esclarecer bastante a dúvida da nossa colega Mariana.
Como toda consulta à banco de dados, destacado pelo nosso colega Alex - Lekao, independente de ter ou não o EXISTS, as tabelas consultadas tem que estar bem "amarradas" umas às outras, pois qualquer erro ou falta de um índice, por exemplo, pode deixar a consulta bem lenta...

No exemplo citado, a tabela que será verificada pelo EXISTS, é interessante que tenha um índice criado para a coluna que será a chave, ou seja, um índice para o id_produto. Dessa maneira, o banco utiliza-o para acessar as informações mais rapidamente... e por aí vai...

Abraço,
Responder

18/06/2013

Alex Lekao

Ola Carlos, boa tarde!!

Embora nao entenda muito bem o funcionamento, na vdd quase nada, eu procuro usar o Plano de Execucao Estimado, ja me ajudou com relacao a uma criacao de indice que melhorou consideravelmente uma consulta que estava fazendo.

Abraco.

Alex - Lekao
Responder

19/06/2013

Mariana Carvalho

poxa, muito interessante, muito legal a funcionalidade...
possi utilizar esses codigo SQL em alguma aplicação não é? interessante, colocar algum
sistema o botão que simplesmente apareça essas opções!!!

obrigada


obrigado a todos pelas respostas, me ajudaram bastante!!!

mas a pergunta acima, é possivel?
Responder

19/06/2013

Alex Lekao

Sim acredito que sim.

Provavelmente qdo vc vai implementar algum botao vc consegue inserir o codigo sql para aquela funcionalidade do botao, entao eh possivel sim.

So para ressaltar, nao sou programador nem tenho a menor ideia de como se faz botao, etc, etc, etc... srsrsr

Abraco.

Alex - Lekao
Responder

19/06/2013

Mariana Carvalho

maravilhoso saber isso, extremamente UTIL!!!

muito obrigada!!!
Responder

19/06/2013

Alex Lekao

De nada.... rsrsr

Como disse antes eh bem interessante para um relatorio por exemplo de produtos sem vendas, clientes sem compras, etc, etc... rsrsr

Fico feliz em ter podido ajudar.

Abraco.

Alex - Lekao
Responder

19/06/2013

Alex Lekao

De nada.... rsrsr

Como disse antes eh bem interessante para um relatorio por exemplo de produtos sem vendas, clientes sem compras, etc, etc... rsrsr

Fico feliz em ter podido ajudar.

Abraco.

Alex - Lekao


Embora a ajuda mesmo foi dada pelo Carlos. ;-.) rsrsrsr

Responder

20/06/2013

Mariana Carvalho

obrigada a todos!!! rsrsrsrs!!!
Responder

29/06/2013

Joel Rodrigues

Como o problema foi resolvido, estou encerrando o tópico.
Abraço a todos.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar