了解LEFT OUTER JOIN

时间:2011-08-24 13:24:20

标签: sql

  

可能重复:
  Three table join with joins other than INNER JOIN

我是SQL的初学者,我正在尝试理解如何使用join子句。 我在两个表之间使用了Left Join:

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


我可以使用左连接(或右连接)检索仅在Table1中的键吗?

由于

4 个答案:

答案 0 :(得分:8)

查看Jeff Atwood发布的各种JOIN类型的维恩图表 - 真正非常好的和可视化的方式来理解JOIN!

A Visual Explanation of SQL Joins

答案 1 :(得分:0)

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

答案 2 :(得分:0)

具体回答你的问题,是的 - 你可以找出哪些密钥只在table1中..当它们不在table2中时,table2密钥为空

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

答案 3 :(得分:0)

  

我可以使用左连接

检索仅在Table1中的键

与SQL中的大多数事情一样,大约有七种不同的方法。

我发现EXCEPT最容易理解:

SELECT Key1
  FROM Table1
EXCEPT 
SELECT Key2
  FROM Table2;