2016-10-18 20 views
1

LEFT JOIN条件のキーの順序を逆にするとどうなりますか?LEFT JOIN条件のキーの順序

理想のSQLは、2つのテーブルを結合するための結合構文を左には、結合条件

select fields 
from tableA 
LEFT JOIN tableB 
ON tableB.key = tableA.key -- (order flipped) 

select fields 
from tableA 
LEFT JOIN tableB 
ON tableA.key = tableB.key 

反転を順序は、これらのクエリは、結果の異なるセットを演出しますでしょうか?

+0

同じものは違います – Drew

答えて

1

LEFT JOINあなたは引数を切り替えることができない、可換ではありません。tableA LEFT JOIN tableBtableB RIGHT JOIN tableAに相当し、tableB LEFT JOIN tableA異なっています。

==は可換、あなたスイッチの引数である:tableA.key = tableB.keytableB.key = tableA.keyと同等です。

2

同じ結果が得られます。 on句はtrueまたはfalseに評価されます。順序は関係ありません。

テーブル自体の位置のみが重要です。例えば以下のように表の順序を逆にすると、異なる結果が得られます。

select fields 
from tableB 
LEFT JOIN tableA 
ON tableA.key = tableB.key