SQLServer中的左连接与左外部连接.之间的区别是什么?LEFT JOIN和LEFT OUTER JOIN?
3 回答
吃鸡游戏
TA贡献1829条经验 获得超7个赞
根据文件:来自(Transact-SQL):
<join_type> ::= [ { INNER | { { LEFT | RIGHT | FULL } [ OUTER ] } } [ <join_hint> ] ] JOIN
关键词OUTER
标记为可选(括在方括号中),在这种情况下,这意味着您是否指定它没有任何区别。注意,虽然Join子句的其他元素也标记为可选,但是他(她,它)们当然会有所改变。
例如,整个类型JOIN
子句是可选的,在这种情况下,默认值是INNER
如果你只是指定JOIN
..换言之,这是合法的:
SELECT *FROM A JOIN B ON A.X = B.Y
以下是一个等价语法列表:
A LEFT JOIN B A LEFT OUTER JOIN B A RIGHT JOIN B A RIGHT OUTER JOIN B A FULL JOIN B A FULL OUTER JOIN B A INNER JOIN B A JOIN B
慕莱坞森
TA贡献1810条经验 获得超4个赞
在顶层,主要有3种类型的联接:
- 内层
- 外
- 交叉
内连接-如果两个表中都有数据,则获取数据。
外连接是.的3类型:
-如果数据存在于左表中,则获取数据。LEFT OUTER JOIN
-如果数据存在于正确的表中,则获取数据。RIGHT OUTER JOIN
-如果两个表中的任一表中都有数据,则获取数据。FULL OUTER JOIN
交叉连接顾名思义
[n X m]
把一切都连接起来。
类似于这样的情况:我们简单地列出了要加入的表(在FROM
的条款SELECT
语句),使用逗号分隔它们。
应注意的几点:
- 如果你刚才提到
默认情况下,这是一个JOIN
INNER JOIN
. - 阿
加入必须是OUTER
你不能简单地说LEFT
|RIGHT
|FULL
OUTER JOIN
. - 你可以放下
关键字,只需说OUTER
或LEFT JOIN
或RIGHT JOIN
FULL JOIN
.
添加回答
举报
0/150
提交
取消