sql中的union和union all的区别-SQL

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

SQL 中 UNION 和 UNION ALL 的区别

UNION 和 UNION ALL 都是用于合并两个或多个表中的行的 SQL 操作符。然而,它们在处理重复行方面存在根本差异。

UNION

  • 仅返回结果表中唯一(不重复)的行。
  • 它在合并表之前会对各个表中的行进行去重。
  • 如果任意表中存在重复行,它们将仅出现在结果表中一次。

UNION ALL

  • 返回所有行,包括重复行。
  • 它不会对各个表中的行进行去重。
  • 如果任意表中存在重复行,它们将出现在结果表中多次。

示例

假设有两个表 T1 和 T2,如下所示:

T1:
+----+----+
| ID | Name |
+----+----+
| 1  | John |
| 2  | Susan |
| 3  | Mary |
+----+----+

T2:
+----+----+
| ID | Name |
+----+----+
| 2  | Susan |
| 4  | Bob |
+----+----+
登录后复制

如果使用 UNION 操作符合并这两个表:

SELECT * FROM T1 UNION SELECT * FROM T2;
登录后复制

结果将是:

+----+----+
| ID | Name |
+----+----+
| 1  | John |
| 2  | Susan |
| 3  | Mary |
| 4  | Bob |
+----+----+
登录后复制

其中,重复的行(ID = 2,Name = Susan)已被删除。

如果使用 UNION ALL 操作符合并这两个表:

SELECT * FROM T1 UNION ALL SELECT * FROM T2;
登录后复制

结果将是:

+----+----+
| ID | Name |
+----+----+
| 1  | John |
| 2  | Susan |
| 2  | Susan |
| 3  | Mary |
| 4  | Bob |
+----+----+
登录后复制

其中,重复行已包含在结果中。

相关文章

sql完整性约束怎么设置-SQL

SQL 完整性约束 什么是 SQL 完整性约束? SQL 完整性约束是一组规则,用于确保数据库中的数据准确性和一致性。它有助于防止不一致和无效的数据进入数据库。 如何设置 SQL 完整性约束? 在...

oracle安装失败怎么办-Oracle

Oracle 安装失败怎么办 在安装 Oracle 时遇到失败的问题是常见的。本文将提供一系列步骤帮助您解决安装失败问题。 步骤 1:检查先决条件 确保您的系统满足 Oracle 系统要求。 检查...

mongodb怎么设置用户-MongoDB

如何设置 MongoDB 用户 MongoDB 是一个 NoSQL 数据库系统,它使用基于角色的访问控制 (RBAC) 来管理对数据的访问。要设置 MongoDB 用户,请按照以下步骤操作: 1....

sql代码视图怎么打开-SQL

SQL 代码视图如何打开 打开 SQL 代码视图的步骤: 在 Azure Data Studio 中,连接到数据库服务器。 在“对象资源管理器”中,右键单击要查看代码的数据库对象(例如表、视图或存...

sql语句怎么查询空值-SQL

如何使用 SQL 语句查询空值 在 SQL 中,空值表示数据库中不存在数据或数据未知。查询空值对于确定缺失的数据或验证数据完整性非常有用。 以下是查询空值的常用 SQL 语句: 1. IS NULL...

mongodb与redis怎么选择-MongoDB

MongoDB 与 Redis 的选择 在选择数据库技术时,MongoDB 和 Redis 是两个流行的选择。选择合适的数据库取决于应用程序的特定需求。 用途 MongoDB: 面向文档的数据库...

发表评论

访客

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