SQL Server - 排除与第二个表没有连接的数据

时间:2012-02-07 23:35:54

标签: sql-server-2008

下面的示例显示了与Table2连接的每个Name的结果(表1 TId是PK,表2中的TId是FK)。

SELECT T1.Name, T1.Address
FROM Table1 AS T1
    INNER JOIN Table2 AS T2
    ON T1.TId = T2.TId;

我想要Table1Table2中没有相应行的所有名称的列表。相反,可以这么说。怎么可以这样做?

1 个答案:

答案 0 :(得分:2)

您需要使用Outer Join,如下所示:

SELECT T1.Name, T1.Address
FROM Table1 AS T1
     LEFT OUTER JOIN Table2 AS T2 ON T1.TId = T2.TId
WHERE T2.TId IS NULL