SQL 连接(JOIN)
JOIN 基于两表之间的关联字段把行组合起来:INNER/LEFT/RIGHT/FULL 四种,本节先看总体概念。
Key PointsSQL,JOIN,连接,INNER,LEFT,RIGHT,FULL
讲解
JOIN 基于两表之间的关联字段把行组合起来:INNER/LEFT/RIGHT/FULL 四种,本节先看总体概念。
示例
SQL
-- Websites 与 access_log 通过 id 关联
SELECT w.name, a.count, a.date
FROM Websites w
JOIN access_log a
ON w.id = a.site_id;Output
name count date
--------- ----- ----------
菜鸟教程 45 2016-05-10
淘宝 100 2016-05-10
微博 230 2016-05-10| 连接类型 | 结果 |
|---|---|
| INNER JOIN | 只返回两表都匹配的行 |
| LEFT JOIN | 左表全部 + 右表匹配(无匹配补 NULL) |
| RIGHT JOIN | 右表全部 + 左表匹配(无匹配补 NULL) |
| FULL JOIN | 两表全部,任一侧无匹配都保留 |
讲解
JOIN 基于两表之间的关联字段把行组合起来:INNER/LEFT/RIGHT/FULL 四种,本节先看总体概念。
示例
SQL
-- Websites 与 access_log 通过 id 关联
SELECT w.name, a.count, a.date
FROM Websites w
JOIN access_log a
ON w.id = a.site_id;Output
name count date
--------- ----- ----------
菜鸟教程 45 2016-05-10
淘宝 100 2016-05-10
微博 230 2016-05-10| 连接类型 | 结果 |
|---|---|
| INNER JOIN | 只返回两表都匹配的行 |
| LEFT JOIN | 左表全部 + 右表匹配(无匹配补 NULL) |
| RIGHT JOIN | 右表全部 + 左表匹配(无匹配补 NULL) |
| FULL JOIN | 两表全部,任一侧无匹配都保留 |