了解LEFT OUTER JOIN

问题描述:

可能重复:
Three table join with joins other than INNER JOIN了解LEFT OUTER JOIN

我在SQL初学者,我想了解如何使用join子句。 我用左两个表之间加入:

SELECT  Table1.Key1, Table2.Key2 
FROM   Table1 LEFT OUTER JOIN 
        Table2 ON Table1.Key1 = Table2.Key2 


我可以找回谁只使用LEFT JOIN(或右联接)是在表1的钥匙?

感谢

退房的维恩图的各种JOIN杰夫·阿特伍德张贴类型 - 真的很不错,可视化的方式了解JOIN的!

A Visual Explanation of SQL Joins

+0

谢谢!它帮助我很多! – danny

+0

+1此链接对我也有帮助:) –

SELECT Table1.Key1, Table2.Key2 
FROM Table1 
LEFT OUTER JOIN Table2 ON Table1.Key1 = Table2.Key2 **AND table2.otherColumn IS NULL** 
+0

如果您发布代码,XML或数据样本,请**在文本编辑器中突出显示这些行,然后单击“代码示例”按钮(“{}”)编辑器工具栏可以很好地格式化和语法突出显示它! –

具体回答你的问题,是的 - 你可以找出哪些按键仅在表1。当他们不是在表2,表2的关键是空

SELECT Table1.Key1, Table2.Key2 
FROM Table1 
LEFT OUTER JOIN Table2 ON Table1.Key1 = Table2.Key2 
WHERE Table2.Key2 is null 

我可以使用左侧连接检索仅在Table1中的键吗?

与SQL中的大多数事情一样,大约有七种不同的方式来执行此操作。

我发现EXCEPT是最简单的理解:

SELECT Key1 
    FROM Table1 
EXCEPT 
SELECT Key2 
    FROM Table2;