sql中左连接和左外连接的区别是什么-SQL

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

左连接与左外连接的区别

左连接和左外连接是两个在 SQL 中常用的连接操作,用于从不同表中获取数据。主要区别在于左连接会返回所有来自左表(或驱动表)的行,而左外连接会返回所有来自左表的行,以及来自右表(或从属表)的匹配行或 NULL 值。

左连接 (INNER JOIN)

  • 返回来自左表和右表的匹配行。
  • 只有当右表中有匹配的记录时,才会返回左表中的行。
  • 如果右表中没有匹配的记录,则左表中的行将被排除在外。

左外连接 (LEFT JOIN)

  • 返回来自左表的所有行。
  • 对于在右表中找到匹配的左表行,返回匹配的右表列值。
  • 对于在右表中没有匹配的左表行,返回 NULL 值。

示例

使用以下表进行说明:

表 A

ID 名称
1 John
2 Mary
3 Bob

表 B

ID 部门
1 销售
2 营销

左连接查询:

SELECT *
FROM A
INNER JOIN B
ON A.ID = B.ID;
登录后复制

结果:

ID 名称 部门
1 John 销售
2 Mary 营销

左外连接查询:

SELECT *
FROM A
LEFT JOIN B
ON A.ID = B.ID;
登录后复制

结果:

ID 名称 部门
1 John 销售
2 Mary 营销
3 Bob NULL

如您所见,左外连接返回了表 A 中的所有行,即使在表 B 中没有匹配的记录,也会返回 NULL 值。

相关文章

mysql怎么更改安装路径-mysql教程

如何更改 MySQL 安装路径 问题:如何在不重新安装 MySQL 的情况下更改 MySQL 的安装路径? 回答: 步骤: 关闭所有 MySQL 服务:停止 MySQL 数据库服务和其他相关服务...

oracle物化视图怎么设置-Oracle

Oracle 物化视图设置指南 什么是物化视图? 物化视图是存储在数据库中对基础表的预计算结果的只读副本。它可以提高需要频繁访问相同数据集的查询的性能。 如何设置物化视图? 步骤 1:创建基础表 创...

mysql循环怎么写-mysql教程

MySQL 循环 在 MySQL 中执行循环有以下几种方法: 1. WHILE 循环 WHILE DO END WHILE;登录后复制 :循环的条件,当条件为 TRUE 时,循环将继续执行...

mysql分组排序怎么查-mysql教程

MySQL 分组排序查询方法 在 MySQL 中,可以通过使用 GROUP BY 和 ORDER BY 子句对结果集进行分组和排序。 分组 GROUP BY 子句将行按指定的列或表达式分组,并将每个...

mysql排序怎么设置-mysql教程

MySQL 排序设置 在 MySQL 中,排序可以通过 ORDER BY 子句来实现。ORDER BY 子句允许你根据指定的列或表达式对结果集进行排序。 语法: SELECT column_name...

mysql增删语句怎么写-mysql教程

MySQL 增删语句 增 语法: INSERT INTO 表名 (列名1, 列名2, ...) VALUES (值1, 值2, ...)登录后复制 例如: INSERT INTO employees...

发表评论

访客

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