如何在Join中包含Null值?

时间:2017-05-11 05:26:46

标签: sql-server

我有一个表'AssignedRecruiter'列中有数值(Id)。并且它也可以具有空值。

此列中存储的Id也存在于Employee表中,该表由Employees的名称组成。在基于Table1.AssignedRecruiter = Employee.Id执行两个表之间的连接时,我从Employee表匹配的所有值与'AssignedRecruiter'的Id匹配。

但是我希望得到所有的空值。我尝试使用Left join从Table1中选择所有值,但它不起作用。

2 个答案:

答案 0 :(得分:1)

使用LEFT JOIN,它会将table1中的所有记录添加到结果集中。

SELECT *
FROM table1 t
LEFT JOIN Employee e ON t.AssignedRecruiter = e.Id

答案 1 :(得分:0)

你可以使用isnull和默认值,并且连接使用左连接,所以右表将有数据,甚至左边没有。

isnull(Table1.AssignedRecruiter ,0) = isnull(Employee.Id , 0)