Matthew Wakeling <matthew(at)flymine(dot)org> writes:
> Yes, that does work, but only because id is NOT NULL. I thought Postgres
> 8.4 had had a load of these join types unified to make it less important
> how the query is written?
NOT IN is not easily optimizable because of its odd behavior in the
presence of nulls. Use NOT EXISTS instead, or that left join hack.
regards, tom lane