SQL - 左连接之前的内连接

时间:2014-05-29 20:22:31

标签: sql

我遇到过一些在左连接之前有内连接的sql。

From Table t
     INNER JOIN vw_User i ON t.UserID = i.UserID
     LEFT JOIN UserTypeTwo it ON t.UserTypeTwoID = it.UserTypeTwoID

有人可以帮助我想象一下这是如何运作的。我可以分别想象这两个连接,但由于它们是一个接一个,它们如何一起工作?

3 个答案:

答案 0 :(得分:0)

您只需向Table T添加更多列即可。 基本上会发生的事情是Table TUserTypeTwo没有关系,但与vw_user有关系。然后你需要来自UserTypeTwo的一些数据,但由于Table T无法加入userTypeTwo,你需要一个表来连接它们,这是vw_user所在的地方应该与UserTypeTwo有关系。

基本上正在使用此查询,因为您需要来自Table TUserTypeTwo的列(以及可能还有vw_User),因此您需要加入所有这三列。

  • Table T FK
  • vw_User
  • vw_UserFKUserTypeTwo
  • UserTypeTwo包含您需要的列

(它不一定需要是外键,但我假设你知道这个,因为你有加入知识)。

我希望我能够澄清正在发生的事情。

答案 1 :(得分:0)

IMO,没有比这更好的表达联接的方法了:

enter image description here

答案 2 :(得分:0)

请参阅下图,没有足够的代表来嵌入它。 http://i.imgur.com/pdMaz56.png