2012-02-07 121 views
0

下面的示例顯示了與表2連接的每個Name的結果(表1 TId是PK,表2中的TId是FK)。SQL Server - 排除沒有連接到第二個表的數據

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

我想從Table1沒有相應的行中的所有Table2名稱的列表。可以這麼說。這怎麼能做到?

回答

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