我遇到过一些在左连接之前有内连接的sql。
From Table t
INNER JOIN vw_User i ON t.UserID = i.UserID
LEFT JOIN UserTypeTwo it ON t.UserTypeTwoID = it.UserTypeTwoID
有人可以帮助我想象一下这是如何运作的。我可以分别想象这两个连接,但由于它们是一个接一个,它们如何一起工作?
答案 0 :(得分:0)
您只需向Table T
添加更多列即可。
基本上会发生的事情是Table T
与UserTypeTwo
没有关系,但与vw_user
有关系。然后你需要来自UserTypeTwo
的一些数据,但由于Table T
无法加入userTypeTwo
,你需要一个表来连接它们,这是vw_user
所在的地方应该与UserTypeTwo
有关系。
基本上正在使用此查询,因为您需要来自Table T
和UserTypeTwo
的列(以及可能还有vw_User),因此您需要加入所有这三列。
Table T
FK
vw_User
vw_User
有FK
到UserTypeTwo
UserTypeTwo
包含您需要的列(它不一定需要是外键,但我假设你知道这个,因为你有加入知识)。
我希望我能够澄清正在发生的事情。
答案 1 :(得分:0)
IMO,没有比这更好的表达联接的方法了:
答案 2 :(得分:0)
请参阅下图,没有足够的代表来嵌入它。 http://i.imgur.com/pdMaz56.png