Re: not in(subselect) in 8.4 - Mailing list pgsql-performance

From Tom Lane
Subject Re: not in(subselect) in 8.4
Date
Msg-id 8918.1235144033@sss.pgh.pa.us
Whole thread Raw
In response to not in(subselect) in 8.4  (Grzegorz Jaśkiewicz <gryzman@gmail.com>)
Responses Re: not in(subselect) in 8.4  (Grzegorz Jaśkiewicz <gryzman@gmail.com>)
Re: not in(subselect) in 8.4  (Grzegorz Jaśkiewicz <gryzman@gmail.com>)
Re: not in(subselect) in 8.4  (Scott Carey <scott@richrelevance.com>)
List pgsql-performance
=?UTF-8?Q?Grzegorz_Ja=C5=9Bkiewicz?= <gryzman@gmail.com> writes:
> I mean query like:
> select id from foo where id not in ( select id from bar);
> into:
> select f.id from foo f left join bar b on f.id=b.id where b.id is null;

Postgres does not do that, because they don't mean the same thing ---
the behavior for NULLs in bar.id is different.

8.4 does understand that NOT EXISTS is an antijoin, though.

            regards, tom lane

pgsql-performance by date:

Previous
From: Matthew Wakeling
Date:
Subject: Re: SSD performance
Next
From: Grzegorz Jaśkiewicz
Date:
Subject: Re: not in(subselect) in 8.4