替代加入命令
Posted
技术标签:
【中文标题】替代加入命令【英文标题】:Alternate to Join command 【发布时间】:2020-05-20 10:59:27 【问题描述】:除了使用以下方法之外,还有其他方法可以连接两个表吗:
-
从表 A 中选择 A.Id,A.Name,B.City 在 A.Column1=B.column1 上加入表 B
从表 A、表 B 中选择 A.Id、A.Name、B.City,其中 A.Column1=B.column1
Select A.Id,A.Name,(select City from Table B where A.Column1=B.column1 ) from Table A
我听说过一些以“C”开头的其他方式或关键字。
【问题讨论】:
用您正在使用的数据库标记您的问题。定义“加入”是什么意思?它可以狭义地表示join
语法或更广泛地指使用底层join
算法之一。
这不是不同的连接算法,它是连接的替代语法,这也是我提到的 3 种可能性的一部分
@Durgaprasad 注意,第三个是错误的。它会产生不同的结果。
【参考方案1】:
您可能听说过与ANSI JOIN 相同的CROSS JOIN。 所以下面两条语句是一样的:
Select A.Id,A.Name,B.City from Table A,Table B where A.Column1=B.column1
Select A.Id,A.Name,B.City from Table A CROSS JOIN Table B where A.Column1=B.column1
【讨论】:
不,它不是交叉连接。它没有连接语法,并且除了以“C”开头的连接之外还有其他关键字【参考方案2】:它是交叉应用和外部应用,我找到了,谢谢
【讨论】:
这称为“横向连接”【参考方案3】:所以,选项是:
选项 #1 是我们今天使用的典型联接。
选项 #2 是连接的旧语法。它仍然有效,但今天因各种原因而气馁。
选项 #3 不是连接,也不等同于其他两个。事实上,它会产生不同的结果。
【讨论】:
知道了,我只是举了一个例子,不要得到那个答案。我正在寻找的是交叉应用和外部应用以上是关于替代加入命令的主要内容,如果未能解决你的问题,请参考以下文章