"Paul" <magamos@xxxxxxx> writes: > But there is not such thing in PostgreSQL as empty set as "IN ()" that must be > false, because nothing element may be found in empty set. > And I thought that instead of "IN ()" I could use "IN (NULL)", but I > was failed and result was NULL and not FALSE. :( NULL is not an alternative spelling for an empty set. You could get an empty IN set by using a sub-select yielding no rows, for example regression=# select 1 in (select 1 where false); ?column? ---------- f (1 row) regression=# select 1 not in (select 1 where false); ?column? ---------- t (1 row) regards, tom lane -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general