1

次のように、MySQL クエリに複数の JOIN のシーケンスがある場合

1. SELECT * FROM x 
2.    LEFT JOIN y ON x.id = y.id; 
3.    LEFT JOIN z ON x.id z.id 
4. ... 

個々の左結合は 1 行目の SELECT の結果に適用されますか? または、最初の左結合が SELECT の結果に適用され、2 番目の左結合が前の左結合の結果に適用されるようにクエリが処理されますか? ありがとう

4

1 に答える 1

1

あなたのJOINルールはあなたの節によって正確に宣言されています。ONつまり、あなたの質問には意味がありません。 table と table を結合しているという明確な宣言xyありxますz。クエリは次のようになります。

SELECT * FROM x 
LEFT JOIN y ON x.id = y.id
LEFT JOIN z ON y.id z.id 

x -> y -> z宣言されていることを確認してくださいON y.id = z.id。現在のクエリはz <- x -> y結合を表しています。

SQL JOIN ここの説明を見ることができます。

于 2013-08-23T12:44:59.773 に答える