sombody可以解释一下我的联系吗?
内连接根据条件选择公共数据.
左外连接从左侧选择所有数据,不管是常用数据,但是从右侧表中接收公共数据,反之亦然.
我知道基础知识,但问题是停留在加入超过5,8,10表.
假设我有10个表加入.如果我有内部加入前5个表,现在尝试应用第6个表的左连接,现在查询将如何工作?
我的意思是说现在前5个表的结果集将作为左表,第6个将被视为右表?或者只有第五个表将被视为左和右6号?请帮我解决这个问题.
解决方法
加入多个表时,每个连接的输出逻辑上形成进入下一个连接的虚拟表.
所以在你的问题的例子中,加入前5个表的复合结果将被视为左手表.
有关更多信息,请参阅Itzik Ben-Gan’s Logical Query Processing Poster.
可以通过定位ON子句来控制连接中涉及的虚拟表.例如
SELECT * FROM T1 INNER JOIN T2 ON T2.C = T1.C INNER JOIN T3 LEFT JOIN T4 ON T4.C = T3.C ON T3.C = T2.C
相当于(T1内加T2)内连(T3左加入T4)