加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

在SQL中加入多个表

发布时间:2020-12-12 16:41:42 所属栏目:MsSql教程 来源:网络整理
导读:sombody可以解释一下我的联系吗? 内连接根据条件选择公共数据. 左外连接从左侧选择所有数据,不管是常用数据,但是从右侧表中接收公共数据,反之亦然. 我知道基础知识,但问题是停留在加入超过5,8,10表. 假设我有10个表加入.如果我有内部加入前5个表,现在尝试应
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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读