select where not in () fails - Mailing list pgsql-sql

From Gary Stainburn
Subject select where not in () fails
Date
Msg-id 201809211608.41086.gary.stainburn@ringways.co.uk
Whole thread Raw
Responses Re: select where not in () fails
List pgsql-sql
I have a users table with u_id as primary key.
I have an employee record table with emp_u_id is a foreign key back to the 
users table.

A user may have zero or more employee records (leaves then returns / changes 
department).
An employee may have zero or one user record

The select I am trying to get working to so be able to list all users without 
an employee record. Straight forward right?????

Can anyone see why user record 2212 doesn't appear in the last select 
statement?

users=# select count(u_id) from users;
 count 
-------
   716
(1 row)

users=# select count(emp_u_id) from employees;
 count 
-------
   345
(1 row)

users=# select count(*) from employees;
 count 
-------
   388
(1 row)

users=# select emp_u_id from employees where emp_u_id=2212;
 emp_u_id 
----------
(0 rows)

users=# select u_id from users where u_id=2212;
 u_id 
------
 2212
(1 row)

users=# select count(u_id) from users where u_id in (select distinct emp_u_id 
from employees);
 count 
-------
   323
(1 row)

users=# select count(u_id) from users where u_id not in (select distinct 
emp_u_id from employees);
 count 
-------
     0
(1 row)


pgsql-sql by date:

Previous
From: "Voillequin, Jean-Marc"
Date:
Subject: create policy/using expression
Next
From: Pavel Stehule
Date:
Subject: Re: select where not in () fails