Re: [GENERAL] Weirdness with "not in" query

Поиск
Список
Период
Сортировка
От Alban Hertroys
Тема Re: [GENERAL] Weirdness with "not in" query
Дата
Msg-id CAF-3MvN8XmZ2aPRoz4KkpFsvjb0Uhvv0ta4zxMWt9rg8X-N5XA@mail.gmail.com
обсуждение исходный текст
Ответ на [GENERAL] Weirdness with "not in" query  (greigwise <greigwise@comcast.net>)
Ответы Re: [GENERAL] Weirdness with "not in" query  (greigwise <greigwise@comcast.net>)
Список pgsql-general
On 8 June 2017 at 17:27, greigwise <greigwise@comcast.net> wrote:
> So, I'm using postgres version 9.6.3 on a mac and the results to this series
> of queries seems very strange to me:
>
> db# select count(*) from table1 where id in
> (1706302,1772130,1745499,1704077);
>  count
> -------
>      4
> (1 row)
>
> db# select count(*) from table2 where table1_id in
> (1706302,1772130,1745499,1704077);
>  count
> -------
>      0
> (1 row)
>
> db# select count(*) from table1 where id not in (select table1_id from
> table2);
>  count
> -------
>      0
> (1 row)
>
> I would expect the "not in" query to return a result of at least 4.  Am I
> totally misunderstanding how this should work (I really don't think so) or
> is something wrong?

You probably have table1_id's that are NULL in table2. In that case
the result of not in is null as well.

Not exists is perhaps a better candidate in this case.

--
If you can't see the forest for the trees,
Cut the trees and you'll see there is no forest.


В списке pgsql-general по дате отправления:

Предыдущее
От: greigwise
Дата:
Сообщение: [GENERAL] Weirdness with "not in" query
Следующее
От: greigwise
Дата:
Сообщение: Re: [GENERAL] Weirdness with "not in" query