Med*_*Man 3 sql t-sql sql-server sql-server-2005
这个周末正在看 JOIN。
我正在阅读 Join 并看到大量 JOIN、LEFT、RIGHT、OUTER、FULL、INNER 的组合。我检查了 MSDN 文档,看起来唯一允许的组合采用以下形式:
< join_type > ::=
[ INNER | { { LEFT | RIGHT | FULL } [ OUTER] } ]
[ < join_hint > ]
JOIN
Run Code Online (Sandbox Code Playgroud)
因此,我认为你只能得到:
Run Code Online (Sandbox Code Playgroud)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。
在外连接(并且仅是外连接)中,还存在三种子类型:LEFT、RIGHT 和 FULL。
由于 LEFT、RIGHT 和 FULL 仅适用于 OUTER 连接,因此有时会省略 OUTER 关键字,而只是指定哪种类型的外连接(即仅“LEFT JOIN”)。