Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.0 (中文) » SQL Anywhere 服务器 - SQL 的用法 » 查询和修改数据 » 对查询结果进行汇总、分组和排序 » 使用 UNION、INTERSECT 和 EXCEPT 对查询结果执行集合运算

 

使用 UNION 子句组合集合

UNION 运算符可以将两个或多个查询的结果组合到一个结果集中。

缺省情况下,UNION 运算符可以从结果集中删除重复行。如果使用 ALL 选项,则不删除重复行。最终结果集中的列与第一个结果集中的列具有相同的名称。可以使用任意数量的 UNION 运算符。

缺省情况下,按从左到右的顺序计算包含多个 UNION 运算符的语句。可以使用括号来指定计算顺序。

例如,以下两个表达式不是等效的,因为它们从结果集中删除重复行的方式不同:

x UNION ALL ( y UNION z )
(x UNION ALL y) UNION z

在第一个表达式中,y 和 z 之间的 UNION 中删除了重复行,而得到的集合与 x 之间的 UNION 则不删除重复行。在第二个表达式中,x 与 y 之间的 UNION 包括重复行,但随后在与 z 的 UNION 中则会删除这些重复的行。