Friday, June 14, 2013

SQL - NOT IN X NOT EXISTS - é sempre bom relembrar

Este artigo é antigo e está no blog do Tom Kyte  :

http://asktom.oracle.com/pls/asktom/f?p=100:11:0::NO::P11_QUESTION_ID:442029737684

Basicamente a diferença está na verifcação de campos NULOS, o famoso NULL .
Usando NOT IN ele não verifica os campos nulos , já com NOT EXISTS ele verifica  e isso dependendo do que você está fazendo vai fazer diferença.

Ex. Quero itens do conjunto A que não estão no B . Caso o conjunto B possua valores NULL na coluna de referência.Usando NOT IN você não vai conseguir traze-los e usando NOT EXISTS sim.

Acho que é isso!

bye,