贝利信息

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

日期:2024-05-10 00:00 / 作者:下次还敢
SQL 中的左连接和右连接是两种连接表的方式:左连接:保留左表所有行,即使右表没有匹配行,右表字段为空。右连接:保留右表所有行,即使左表没有匹配行,左表字段为空。

SQL 中的左连接和右连接

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

左连接

右连接

语法

左连接:

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    |
+----+---------+--------+