I have a query that is behaving in ways I would otherwise not expect.
I have two tables, stagin_users
and users
. In both tables I have a column called name
. In the users
table, EVERY value for name
is NULL
. In staging_users
I have 13 rows that do not have a NULL value. I am trying to run a query where I get all users in the staging table whose name is not in the users
table.
My query as written is:
SELECT name
FROM staging_users
WHERE name NOT IN (SELECT name FROM users);
As the query is written, I get NO results back. What is the reason for this behavior?
As the users
table only has NULL values I know I could say WHERE name IS NOT NULL
and I would get the same results, but I want this query to work against the values in the table, which all happen to be NULL
.