On Tue, Mar 18, 2003 at 08:54:27 -0800, chester c young <chestercyoung@yahoo.com> wrote:
> In pg, is there any performance gain in using outer join with null as
> versus using not exists, eg:
>
> select t1.* from t1 right join t2 using( id ) where t2.id is null;
>
> versus
>
> select * from t1 where not exists (select 1 from t2 where t1.id=t2.id);
You can use explain analyze to compare the queries.
Another possible approach is:
select t1.* from t1, (select id from t1 except select id from t2) t3 where t1.id = t3.id;