に右に実行されますどのようなSQLクエリを注文した、join
sが論理的(括弧は順序を変更しない限り)それらが書かれている順に実装されています。したがって、書かれているように、あなたの結合はで、論理的にはがあなたの意図通りに実装されています。
クエリが実際に実行される方法は、実行エンジンに委ねられます。
select . . .
from table1 INNER JOIN
table2 TTS
on table1.field1 = table2.field2 INNER JOIN
table3
on table1.field3 = table2.field4 ;
理由:
さらに、クエリは同等ですか? LEFT JOIN
は、一致がない行がtable1
からtable2
になることがあります。 field4
はこれらの行でNULL
になり、2番目のon
はそれらをフィルタリングします。
通常、left join
を使用するクエリでは、最初の後のjoin
はすべてleft join
です。だから、おそらく意図し:これは、他の2つの表に関係なく、試合のtable1
内のすべての行を保持します
select . . .
from table1 LEFT JOIN
table2 TTS
on table1.field1 = table2.field2 LEFT JOIN
table3
on table1.field3 = table2.field4 ;
。