gpt4 book ai didi

sql - 连接的不同组合令人困惑,有人能把它归结一下吗?

转载 作者:行者123 更新时间:2023-12-05 00:24:57 26 4
gpt4 key购买 nike

看看这个周末的 JOIN。

我正在阅读 Join 并看到了大量 JOIN、LEFT、RIGHT、OUTER、FULL、INNER 的组合。我检查了 MSDN 文档,看起来唯一允许的组合是以下形式:

< join_type > ::=
[ INNER | { { LEFT | RIGHT | FULL } [ OUTER] } ]
[ < join_hint > ]
JOIN

所以从中,我想你只能得到:

JOIN / INNER JOIN
LEFT JOIN / LEFT OUTER JOIN
RIGHT JOIN / RIGHT OUTER JOIN
FULL JOIN / FULL OUTER JOIN


此外,OUTER 似乎是一个可选的关键字,所以 LEFT JOIN 和 LEFT OUTER JOIN 实际上是一样的。这样对吗? JOIN 和 FULL OUTER JOIN 有什么区别?我曾在脚本中单独看到过 JOIN,但无法分解它,因为查询有点复杂。

最佳答案

只有三种连接:CROSS、INNER 和 OUTER。

  • 交叉连接从两个表中返回所有可能的行组合,并且不经常使用。
  • 内连接只返回两个表都匹配连接条件的行。
  • 外连接选择一个表作为“源”表,并且将始终返回该表中的所有行。任何时候在另一个表中没有匹配项时,都会提供 NULL 值。

  • 在外连接(并且只有外连接)中,还有三个子类型:LEFT、RIGHT 和 FULL。
  • 对于左连接,第一个表是原始表。
  • 对于右连接,第二个表是原始表。
  • 对于完全连接,两个表都是源表。

  • 因为 LEFT、RIGHT 和 FULL 仅适用于外连接,有时省略 OUTER 关键字以支持简单地指定哪种外连接(即仅“LEFT JOIN”)。

    关于sql - 连接的不同组合令人困惑,有人能把它归结一下吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1252940/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com