MySQL:多个表上的内部连接和外部连接

时间:2015-06-11 20:30:06

标签: mysql sql join left-join

我有多个表格:

A,B,C,D

我想在D的结果的A,B,C和外部JOIN上进行内部连接。

我想明显的做法是(跳过SELECT语句):

(A JOIN B JOIN C ON ...) table_alias 
LEFT JOIN D ON ...

但我想知道我是否可以做类似的事情:

A 
JOIN B 
JOIN C 
LEFT JOIN D ON ...

我不认为MySQL喜欢它。如果有更好的方法,请告诉我。

谢谢!

2 个答案:

答案 0 :(得分:0)

您想要的from子句可以表示为:

FROM A JOIN
     B
     ON . . . JOIN
     C
     ON . . . LEFT JOIN
     D
     ON . . .

MySQL中不需要括号来表达这一点。

答案 1 :(得分:0)

您也可以嵌套这样的联接:

SELECT * FROM A JOIN (B, C) ON (A.a=B.a AND B.b=C.b) LEFT JOIN D ON C.c=D.c