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

admin1年前 (2024-06-05)基础运维知识241
点击下载TXT

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 名称 地址
1 John 123 Main St
2 Mary 456 Elm St
3 Bob NULL

内连接

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

结果:

id 名称 地址
1 John 123 Main St
2 Mary 456 Elm St

正如您所看到的,左连接返回了左表的所有行,即使右表中没有匹配的行。而内连接只返回了两个表中都有匹配行的

相关文章

sql多条件查询怎么写-SQL

SQL 多条件查询 多条件查询是指在一个 SQL 语句中使用多个条件来筛选数据。 语法: SELECT column1, column2, ... FROM table_name WHERE con...

mongodb客户端怎么启动-MongoDB

如何启动 MongoDB 客户端 步骤 1:安装 MongoDB 访问 MongoDB 网站:https://www.mongodb.com/download-center/community 选...

mysql设置外键怎么写-mysql教程

如何设置 MySQL 外键 在 MySQL 中设置外键可以确保数据完整性,它强制执行父子表之间的引用关系。 语法 ALTER TABLE 子表 ADD FOREIGN KEY (子表列) REFER...

mysql不能启动怎么办-mysql教程

MySQL无法启动:故障排除指南 原因和解决方案: 1. 进程已经启动 检查进程是否已经启动。运行以下命令: ps -ef |grep <a style="color:#f60;...

sql游标怎么写-SQL

SQL 游标 什么是 SQL 游标? SQL 游标是一个用于管理和遍历结果集的结构。它允许应用程序从结果集中向上、向下或随机移动并检索数据。 如何写 SQL 游标? 声明游标: DECLARE cu...

oracle日志文件怎么看-Oracle

如何阅读 Oracle 日志文件 Oracle 日志文件包含有关数据库活动的信息,对于故障排除和性能优化至关重要。以下是阅读 Oracle 日志文件的步骤: 1. 确定日志文件位置 日志文件位于 O...

发表评论

访客

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