SQL FULL JOIN

FULL OUTER JOIN 返回两表全部行,任一侧无匹配的列补 NULL;MySQL 不支持,可用 UNION 模拟。

Intermediate
Key PointsSQL,FULL JOIN,全连接,UNION 模拟

讲解

FULL OUTER JOIN 返回两表全部行,任一侧无匹配的列补 NULL;MySQL 不支持,可用 UNION 模拟。

示例

SQL
-- 标准 SQL / SQL Server / PostgreSQL
SELECT w.name, a.count
FROM Websites w
FULL OUTER JOIN access_log a
  ON w.id = a.site_id;

-- MySQL 用 UNION 模拟
SELECT w.name, a.count FROM Websites w LEFT JOIN access_log a ON w.id = a.site_id
UNION
SELECT w.name, a.count FROM Websites w RIGHT JOIN access_log a ON w.id = a.site_id;
Output
name       count
---------  -----
微博       230
淘宝       100
菜鸟教程   45
Google     NULL
Facebook   NULL

Friends & Partners