跳转到主内容
极星编程网:以代码为星,赴技术山海!

sql中左连接和内连接的区别

左连接与内连接的区别:左连接:返回左表所有行,即使右表中没有匹配的行;右表空值显示为 NULL。内连接:仅返回左表和右表中具有匹配行的行;若无匹配行,该行会被忽略。性能:左连接较慢,内连接较快。用例:左连接用于获取左表所有数据,即使右表中没有匹配项;内连接用于仅获取具有匹配行的行。 SQL 中左连接和内连接的区别 在 SQL 中,连接是将来自不同表的行组合在一起的强大工具。左连接和内连接是两种最常用的连接类型,它们在返回的结果方面有不同的行为。 左连接 左连接(LEFT JOIN)返回来自左表的 所有 行,即使右表中没有匹配的行。如果右表中没有匹配的行,则右表字段的值将显示为 NULL。 内连接 内连接(INNER JOIN)仅返回来自左表和右表中具有 匹配行 的行。如果没有匹配的行,则该行将不会被返回。 比较 特性左连接内连接返回左表行所有仅匹配处理右表空值显示为 NULL忽略性能较慢较快用例获取左表所有数据,即使右表中没有匹配项仅获取具有匹配行的行 示例 考虑以下两个表:
左表: | id | 名称 | |---|---| | 1 | John | | 2 | Mary | | 3 | Bob | 右表: | id | 地址 | |---|---| | 1 | 123 Main St | | 2 | 456 Elm St |
左连接
SELECT * FROM 左表 LEFT JOIN 右表 ON 左表.id = 右表.id;
结果: id名称地址1John123 Main St2Mary456 Elm St3BobNULL 内连接
SELECT * FROM 左表 INNER JOIN 右表 ON 左表.id = 右表.id;
结果: id名称地址1John123 Main St2Mary456 Elm St 正如您所看到的,左连接返回了左表的 所有 行,即使右表中没有匹配的行。而内连接只返回了两个表中都有匹配行的 行 。

相关文章