またはLEFT JOIN
ではなく、を使用したクエリを見てきました。INNER
LEFT OUTER
正確には何LEFT JOIN
ですか?
inner join
が両方のテーブルで一致するエントリのみを返す場合、aleft join
は最初のテーブルからすべてのエントリを取得し、2 番目のテーブルで一致するすべてのエントリを取得します。Aright join
は a の逆ですleft join
(つまり、2 番目のテーブルのすべて)
したがって、TableA が
A B
1 a
2 b
3 c
そしてTableBは
A B
1 d
2 e
その後、Select * from TableA inner join TableB on TableA.A = TableB.A
戻ります
1 a 1 d
2 b 2 e
そしてSelect * from TableA left join TableB on TableA.A = TableB.A
戻る
1 a 1 d
2 b 2 e
3 c null null
これは LEFT OUTER と同じです (INNER JOIN は双方向の一致を必要とし、 aLEFT INNER JOIN
は意味をなさないため、OUTER が暗示されます)。同じことが and に適用されRIGHT JOIN
、これらはそれぞれおよび とFULL JOIN
同等です。RIGHT OUTER JOIN
FULL OUTER JOIN