Re: unexpected results with NOT IN query

From: Stephan Szabo <sszabo(at)megazone(dot)bigpanda(dot)com>
To: Mason Hale <masonhale(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: unexpected results with NOT IN query
Date: 2008-03-20 15:17:37
Message-ID: 20080320081320.G65119@megazone.bigpanda.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Thu, 20 Mar 2008, Mason Hale wrote:

> Hello --
>
> I'm getting some unexpected results with a NOT IN query -- this is on 8.2.5.
>
> This is the query in question:
>
> prod_2=> select id from feed_download_task where id in (111102466,141701504)
> and id not in (select last_feed_download_task_id from subscription);

Is it possible for last_feed_download_task_id be NULL? If so, then then id
not in (...) will not ever return true due to the way comparisons with
NULLs work -- basically, it can't tell if the id is in the other table
because id = NULL is unknown, so it thus can't tell that it's not in the
other table either, so you could end up with neither in nor not in
returning the row.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Ivan Sergio Borgonovo 2008-03-20 15:43:55 dynamically generated SQL and planner/performance
Previous Message Tom Lane 2008-03-20 15:15:49 Re: unexpected results with NOT IN query