在SQL中加入多个表

前端之家收集整理的这篇文章主要介绍了在SQL中加入多个表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
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)

猜你在找的MsSQL相关文章