UNION 运算 (Microsoft Jet SQL)

UNION 运算

创建一个联合查询,它组合了两个或更多的独立查询或表的结果。

语法

[TABLE] query1 UNION [ALL] [TABLE] query2 [UNION [ALL] [TABLE] queryn [ ... ]]

UNION 运算可分为以下几个部分:

部分

说明

query1-n

SELECT 语句、已存储的查询的名称、或冠以 TABLE 关键字的存储表的名称。

 

说明

可以在任何组合中、单一 UNION 运算中,合并两个或多个查询、表、及 SELECT 语句的结果。下列示例将名为 New Accounts 的现存表和一个 SELECT 语句合并:

TABLE [New Accounts] UNION ALL

SELECT *

FROM Customers

WHERE OrderAmount > 1000;

按照缺省规定,使用 UNION 运算时不返回重复的记录;然而,可以包含 ALL 谓词来确保返回所有的记录。这样,运行查询的速度也会快些。

一次 UNION 运算中的所有查询必须要求相同的字段数量;但是,字段无须具有相同的大小或数据类型

只能在第一个 SELECT 语句中使用别名,因为它们在其他语句中已被省略。在 ORDER BY 子句中,可引用在第一个 SELECT 语句中被调用的字段名。


注意

?可以在各个查询变元中使用GROUP BYHAVING 子句来为返回的数据分组。
?要想以指定的顺序来显示返回的数据,可以在最后一个 query 参数的末尾使用 ORDER BY 子句

请参阅

ALL、DISTINCT、DISTINCTROW、TOP 谓词(Microsoft Jet SQL)

ORDER BY 子句 (Microsoft Jet SQL)

GROUP BY 子句 (Microsoft Jet SQL)

SELECT 语句 (Microsoft Jet SQL)

HAVING 子句 (Microsoft Jet SQL)

SQL子查询

INNER JOIN 运算 (Microsoft Jet SQL)

WHERE 子句 (Microsoft Jet SQL)

LEFT JOIN, RIGHT JOIN 运算 (Microsoft Jet SQL)

 

 

示例

UNION 运算示例