首页课程SQL趣味课堂UNION 操作符

UNION 操作符

目录列表

设置操作符

有时候,你可能需要将多个表的数据合并为一个综合数据集。这可能是在相同数据库中具有相似数据的表,或者可能需要在数据库、甚至跨服务器上合并相似的数据。

要完成此操作,请使用 UNION 和 UNION ALL 操作符。

UNION 将多个数据集合并到单个数据集中,并删除任何现有的重复项。

UNION ALL 将多个数据集合并到一个数据集中,但不会删除重复的行。

UNION ALL 比 UNION 快,因为它不会对数据集执行重复删除操作。


填空,从 "items" 表中选择 "name","cost"和 "bids",仅选择 bids 大于 500 的项目。

name,,bids FROM items bids > 500;

UNION 操作符

UNION 操作符用于合并两个或多个 SELECT 语句的结果集。

请注意,UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。

SQL UNION 语法:

SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;

下面是选自 "table1" 表的数据:

)_SNR11O1GEM8G1[UXM_IL7.png

下面是选自 "table2" 表的数据:

XUE8H4MV$_TL)`UT7]@UC_4.png

下面的 SQL 语句从 "table1" 和 "table2" 表中选取所有不同的记录(只有不同的值):

SELECT ID, FirstName, LastName, City FROM table1
UNION
SELECT ID, FirstName, LastName, City FROM table2;

结果表将如下所示:

Z4FKBV%V9T934AU{CR`AG50.png

你可以看到,结果表中只有不同的值。

提示:如果你的列在所有查询中不完全匹配,您可以使用NULL(或任何其他)值。

SQL 语句将如下所示:

SELECT FirstName, LastName, Company FROM table3
UNION
SELECT FirstName, LastName, NULL FROM table4;

下面关于 UNION 操作符的叙述正确的是?

UNION 操作符

UNION ALL 从每个表中选择所有行,并将它们合并成一个表中。

下面的 SQL 语句使用 UNION ALL 从 "table1" 和 "table2" 表中选取所有的记录(也有重复的值):

SELECT ID, FirstName, LastName, City FROM table1
UNION ALL
SELECT ID, FirstName, LastName, City FROM table2;

执行输出结果:

$SK_@(L%7)]}]9W~5DUV{32.png

你可以看到,结果表中还包括重复的值。

什么操作符用于将多个数据集合并到一个数据集中,并允许重复的值?