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 | +----+---------+--------+
登录后复制