【问题标题】:What advantages are gained from saying Left Outer Join over Left Join [closed]说左外连接比左连接有什么好处[关闭]
【发布时间】:2014-04-30 20:34:07
【问题描述】:

如果左外连接和左连接做同样的事情。有没有优势 使用其中一个?在哪些情况下,您可能会选择使用 Left Join 而不是 Left Outer Join,反之亦然?

【问题讨论】:

  • 嗯....你不会?如果你是肯定的,RI 被强制执行,等等,没有理由。
  • 它们在语义上是相同的。第二只是第一的缩写形式。
  • Outer 只是可选的,Inner 来自Inner Join 也是如此。这纯粹是编写者的偏好。
  • 除非某些 DBMS 只允许两种语法中的一种,否则纯粹是偏好。
  • 我这样做是为了便于阅读。当我浏览它时,它有助于清楚地区分 INNER 和 OUTER 连接

标签: sql join left-join outer-join


【解决方案1】:

关键字innerouter 是可选的(与许多其他关键字一样)。连接类型是隐含的:

  • 不合格 = 内部
  • left = 外部
  • right = 外部
  • fullcross = 外部

我个人从不使用它们,因为它们代码混乱。

【讨论】:

    【解决方案2】:

    它们完全一样。外连接是可选的。

    但是,如果您没有指定外部联接类型:Left、Right 或 Full,那么它将是 INNER 联接。

    在 Left/Right 的上下文中,它们等同于 OUTER 连接,因此 OUTER 将是默认的,并且可以在语义上添加。

    左连接 == 左外连接

    正如一些人所说,它的可读性非常好。

    【讨论】:

    • 除非你打错了第二句话,“但是,......”你是不正确的。如果您说leftrightfull,则暗示outer。没有限定符的裸 join,暗示 inner
    • 是的,谢谢,我已经添加了更多解释。
    • 对不起,但它仍然是不正确的......它应该是“但是,如果您没有指定外部连接类型:LeftRightFull , 那么它将是一个INNER 加入”。
    • 我已经删除了我的反对票
    猜你喜欢
    • 2017-02-26
    • 2011-10-01
    • 2016-10-02
    • 2011-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-10
    • 1970-01-01
    相关资源
    最近更新 更多