これらの結合は両方とも同じ結果になります。
SELECT * FROM table JOIN otherTable ON table.ID = otherTable.FK
vs
SELECT * FROM table INNER JOIN otherTable ON table.ID = otherTable.FK
パフォーマンスなどのステートメントに違いはありますか?
異なるSQL実装間で違いはありますか?
これらの結合は両方とも同じ結果になります。
SELECT * FROM table JOIN otherTable ON table.ID = otherTable.FK
vs
SELECT * FROM table INNER JOIN otherTable ON table.ID = otherTable.FK
パフォーマンスなどのステートメントに違いはありますか?
異なるSQL実装間で違いはありますか?
これらは機能的に同等ですが、特にクエリに他の結合タイプ (またはまたは) が含まれているINNER JOIN場合は、少し読みやすくなります。LEFTRIGHTCROSS
いいえ、違いはありません。純粋な構文糖衣です。
内部結合 = 結合
JOINという単語を使用するときにタイプを指定しない場合、INNER JOIN がデフォルトになります。
また、LEFT OUTER JOIN または RIGHT OUTER JOIN を使用することもできます。この場合、OUTER という単語はオプションです。CROSS JOIN を指定することもできます。
また
内部結合の構文は次のとおりです。
SELECT ...
FROM TableA
[INNER] JOIN TableB(つまり、「INNER」キーワードはオプションです。結果は、キーワードを使用しても使用しなくても同じです)
異なるSQL実装間で違いはありますか?
はい、MicrosoftAccessでは許可されていませんjoin。が必要inner joinです。
と同様にOUTER JOINs、単語"OUTER"はオプションです。anを作るのはLEFTorRIGHTキーワードです。JOIN"OUTER" JOIN
ただし、何らかの理由で常に"OUTER"as inLEFT OUTER JOINと neverLEFT JOINを使用しますが、決して使用せずINNER JOIN、単に使用します"JOIN":
SELECT ColA, ColB, ...
FROM MyTable AS T1
JOIN MyOtherTable AS T2
ON T2.ID = T1.ID
LEFT OUTER JOIN MyOptionalTable AS T3
ON T3.ID = T1.ID