MySql教程
MySql用户管理
MySQL数据库
MySql表格和视图
MySQL查询
MySQL索引
MySQL子句
MySQL授权
MySql控制流
MySQL条件
MySQL连接
MySQL键
MySQL触发器
MySQL聚合函数
MySQL常用
MySQL正则表达式
MySql差异性

Union和Union All区别

UNION和UNION ALL是数据库中用于合并来自多个表的结果集的两个最重要的SQL运算符。 这些运算符使我们可以使用多个SELECT查询,检索所需的结果,然后将它们组合为最终输出 。在本文中,我们将了解它们之间的区别。在进行比较之前,我们将简要讨论这些运算符。

什么是Union运算符?

Union运算符允许我们将来自多个SELECT查询的两个或多个结果组合到单个结果集中。它具有默认功能,可以从表中 删除重复的行。此运算符语法始终使用第一个 SELECT语句中的列名称作为输出的列名称。
MySQL 联盟必须遵循以下基本规则:
所有查询中列的数量和顺序应该相同。 每个选择查询的相应列位置必须具有兼容的数据类型。 在不同的SELECT查询中选择的列名必须具有相同的顺序。 第一个SELECT查询的列名将是输出的列名。
注意: 我们必须要知道Union和Join是不同的。
JOIN合并来自多个不同表的数据,而UNION合并来自多个相似表的数据。 JOIN水平附加输出,而UNION垂直组合结果集。
下面的可视表示形式对其进行了更清晰的说明:
联盟与联盟全部
要了解有关Union运算符的更多信息,请单击此处。

什么是Union All?

UNION ALL运算符将来自多个SELECT查询的两个或多个结果组合在一起,并将所有记录返回到单个结果集中。它不会从SELECT语句的输出中删除重复的行。
我们可以通过以下直观表示来理解它。
Union vs Union All

Union vs. All All运算符

下面的比较表快速解释了它们的主要区别:
UNION UNION ALL
它将来自多个表的结果集组合在一起,并返回不同的记录到单个结果集中。 它将来自多个表的结果集组合在一起,并将所有记录返回到单个结果集中。
以下是UNION运算符的基本语法:
SELECT column_list FROM table1
UNION
SELECT column_list FROM table2;
以下是UNION ALL运算符的基本语法:
SELECT column_list FROM table1
UNION ALL
SELECT column_list FROM table2;
它具有默认功能,可从输出中消除重复的行。 它没有消除输出中重复行的功能。
它的性能很慢,因为查找并删除重复的记录需要时间。 它的性能快,因为它不会消除重复的行。
大多数数据库用户更喜欢使用此运算符。 大多数数据库用户不喜欢使用此运算符。

Union和Union All示例

通过示例让我们了解Union和Union All运算符之间的区别。假设我们有一个名为" student"和" Student2 "的表,其中包含以下数据:
表: student
联盟与全部联盟
表: Student2
联盟与全部联盟
以下SQL语句返回城市的 唯一名称从两个表中使用UNION查询:
SELECT City FROM student
UNION
SELECT City FROM student2
ORDER BY City;
执行上面的语句后,我们将得到以下输出,因为Union运算符仅返回不同的值。
Union vs Union All
以下SQL语句使用UNION ALL查询从两个表中返回 所有城市名称(包括重复项):
SELECT City FROM student
UNION ALL
SELECT City FROM student2
ORDER BY City;
执行上面的语句后,我们将得到以下输出,因为Union All运算符返回整个记录而没有消除不同的值。
联盟与联盟全部
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4