subseleção vs junção externa
Considere as 2 consultas a seguir:
select tblA.a,tblA.b,tblA.c,tblA.d
from tblA
where tblA.a not in (select tblB.a from tblB)
select tblA.a,tblA.b,tblA.c,tblA.d
from tblA left outer join tblB
on tblA.a = tblB.a where tblB.a is null
Qual será o desempenho melhor? Minha suposição é que, em geral, a junção será melhor, exceto nos casos em que a subseleção retorna um conjunto de resultados muito pequeno.