如果我在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的结果和第二个左连接应用于前一个结果的方式处理的查询离开加入?谢谢
答案 0 :(得分:1)
您的JOIN
规则被<{1}}子句声明为完全。即您的问题毫无意义 - 您已明确声明您正在使用ON
加入表格x
,并使用y
加入表格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
here的说明。