Code example to run:
DECLARE @IdsTable AS TABLE(Id INT);
INSERT INTO @IdsTable VALUES (NULL), (1);
SELECT * FROM @IdsTable WHERE Id IS NOT NULL; -- 1
SELECT * FROM @IdsTable WHERE Id NOT IN (NULL); -- 2
SELECT * FROM @IdsTable WHERE Id != NULL; -- 3
Why do queries 2 and 3 not return a record where Id is 1?