为了账号安全,请及时绑定邮箱和手机立即绑定

SQLServer中的左连接与左外部连接

SQLServer中的左连接与左外部连接

DIEA 2019-06-05 15:22:09
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


查看完整回答
反对 回复 2019-06-05
?
慕莱坞森

TA贡献1810条经验 获得超4个赞

在顶层,主要有3种类型的联接:

  1. 内层
  2. 交叉

  1. 内连接-如果两个表中都有数据,则获取数据。

  2. 外连接是.的3类型:

    1. LEFT OUTER JOIN

      -如果数据存在于左表中,则获取数据。
    2. RIGHT OUTER JOIN

      -如果数据存在于正确的表中,则获取数据。
    3. FULL OUTER JOIN

      -如果两个表中的任一表中都有数据,则获取数据。
  3. 交叉连接顾名思义[n X m]把一切都连接起来。
    类似于这样的情况:我们简单地列出了要加入的表(在FROM的条款SELECT语句),使用逗号分隔它们。


应注意的几点:

  • 如果你刚才提到

    JOIN

    默认情况下,这是一个

    INNER JOIN.

  • OUTER

    加入必须是

    LEFT | RIGHT | FULL

    你不能简单地说

    OUTER JOIN.

  • 你可以放下

    OUTER

    关键字,只需说

    LEFT JOIN

    RIGHT JOIN

    FULL JOIN.


查看完整回答
反对 回复 2019-06-05
?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

左联接和左外联接有什么区别?

没什么LEFT JOINLEFT OUTER JOIN都是等价物。


查看完整回答
反对 回复 2019-06-05
  • 3 回答
  • 0 关注
  • 1329 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信