sql中的左连接和右连接是什么-SQL

SQL 中的左连接和右连接

在 SQL 中,连接是将来自两个或更多表的行组合在一起的过程。左连接和右连接是连接表的两种特定类型。

左连接

  • 保留左表中的所有行,即使在右表中没有匹配的行。
  • 对于右表中没有匹配行的左表行,右表中的字段将显示为 NULL。

右连接

  • 保留右表中的所有行,即使在左表中没有匹配的行。
  • 对于左表中没有匹配行的右表行,左表中的字段将显示为 NULL。

语法

左连接:

SELECT *
FROM 左表
LEFT JOIN 右表 ON 左表栏 = 右表栏;
登录后复制

右连接:

SELECT *
FROM 右表
RIGHT JOIN 左表 ON 左表栏 = 右表栏;
登录后复制

示例

考虑以下两个表:

左表:
+----+--------+
| id | 名称    |
+----+--------+
| 1  | John    |
| 2  | Mary    |
+----+--------+

右表:
+----+---------+
| id | 地址    |
+----+---------+
| 1  | Main St |
| 3  | Oak Ave |
+----+---------+
登录后复制

左连接:

SELECT *
FROM 左表
LEFT JOIN 右表 ON 左表.id = 右表.id;
登录后复制

输出:

+----+--------+---------+
| id | 名称    | 地址    |
+----+--------+---------+
| 1  | John    | Main St |
| 2  | Mary    | NULL    |
+----+--------+---------+
登录后复制

右连接:

SELECT *
FROM 右表
RIGHT JOIN 左表 ON 左表.id = 右表.id;
登录后复制

输出:

+----+---------+--------+
| id | 地址    | 名称    |
+----+---------+--------+
| 1  | Main St | John    |
| 3  | Oak Ave | NULL    |
+----+---------+--------+
登录后复制

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。