SELECT
*
FROM
(
SELECT
*
FROM
(
SELECT
*
FROM
a
INNER JOIN b USING (id)
INNER JOIN c USING (id)
INNER JOIN d USING (id)
) e
UNION
SELECT
id,
a,
NULL,
c,
NULL
FROM
a
INNER JOIN c USING (id)
UNION
SELECT
id,
NULL,
b,
c,
d
FROM
b
INNER JOIN c USING (id)
INNER JOIN d USING (id)
UNION
SELECT
id,
a,
NULL,
NULL,
d
FROM
a
RIGHT OUTER JOIN d USING (id)
) f
GROUP BY
id
left join
题主你的题目好难啊,我搞了大半天终于调出来了,我sql不熟,感觉像逻辑题
代码如下: