1. ホーム
  2. sql-server

[解決済み] SQL ServerにおけるLEFT JOINとLEFT OUTER JOINの比較

2022-03-16 04:35:54

質問

とはどのような違いがあるのでしょうか? LEFT JOINLEFT OUTER JOIN ?

解決方法は?

ドキュメントの通りです。 FROM (トランザクト SQL) :

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

キーワード OUTER はオプションとしてマークされています(角括弧で囲まれています)。この場合 OUTER を使っても使わなくても変わりません。 結合節の他の要素もオプションとしてマークされている一方で それら アウト 意志 は、違いをもたらす。

例えば、type-part全体の 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

また、この他のSOの質問で残した答えも見てみてください。 SQLの左結合とFROM行の複数テーブルの比較? .