我是SQL的初学者,我正在尝试理解如何使用join子句。
我在两个表之间使用了Left Join:
SELECT Table1.Key1, Table2.Key2
FROM Table1 LEFT OUTER JOIN
Table2 ON Table1.Key1 = Table2.Key2
我可以使用左连接(或右连接)检索仅在Table1中的键吗?
由于
答案 0 :(得分:8)
查看Jeff Atwood发布的各种JOIN类型的维恩图表 - 真正非常好的和可视化的方式来理解JOIN!
答案 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;