如果我在 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 的结果,第二个左连接应用于前一个左连接的结果?谢谢
您的JOIN
规则完全由您的ON
条款声明。即你的问题没有意义 - 你有一个明确的声明,你正在加入 table x
withy
和 table x
with z
。如果您查询如下所示:
SELECT * FROM x
LEFT JOIN y ON x.id = y.id
LEFT JOIN z ON y.id z.id
那么它将是x -> y -> z
join - 看到它是在ON y.id = z.id
. 您当前的查询代表z <- x -> y
联接。
你可以看到SQL JOIN
这里的描述。