当某些值为NULL时,从SELECT ... IN子查询表中检索所有所需的记录

时间:2015-07-24 19:29:31

标签: sql-server

我有一个表格%3A,其中包含字段Table1和其他一些字段:

Id

我有另一个表Id SomeField ------------------ 1 SomeValue 3 AnotherValue ,其中包含与Table2对应的字段Id和另一个字段Table1.Id。部分Name值为Name

NULL

我选择的数据如下:

Id     Name
-----------
1      John
2      NULL

在这种情况下,由于Select Id from Table1 where Name in (Select Name from Table2) 第二行中的Id,我只能从上述查询中获得约翰的1 NULL}

如何同时获得Table2个值?

1 个答案:

答案 0 :(得分:0)

IN Operator SQL

可能重复

正如它所述,NULL = NULL将返回false。必须使用IS NULL或IS NOT NULL。

SELECT Id FROM Table1 WHERE Name IN (Select Name from Table2) OR Name IS NULL