微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在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)

原文地址:https://www.jb51.cc/mssql/81460.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐