此语句用于合并两个或更多选择语句的结果。
[ WITH temporary-views ] query-block UNION [ ALL | DISTINCT ] query-block [ ORDER BY [ integer | select-list-expression-name ] [ ASC | DESC ], ... ] [ FOR XML xml-mode ] [ OPTION( query-hint, ... ) ]
query-block:请参见SQL 语法中的常见元素
query-hint : MATERIALIZED VIEW OPTIMIZATION option-value | FORCE OPTIMIZATION | option-name = option-value
option-name : identifier
option-value : hostvar (indicator allowed), string, identifier, or number
OPTION 子句 此子句用于指定执行语句时的提示。支持以下提示:
有关这些选项的说明,请参见SELECT 语句的 OPTIONS 子句。
使用 UNION 可将多个查询块的结果合并成一个较大的结果。每个 query-block 在选择列表中必须具有相同数目的项目。
UNION ALL 的结果是查询块的合并结果。UNION 的结果与 UNION ALL 的结果相同,但会删除重复的行。删除重复的行需要额外的处理,所以应尽量使用 UNION ALL 而不是 UNION。UNION DISTINCT 与 UNION 相同。
如果两个选择列表中的相应项具有不同的数据类型,则 SQL Anywhere 为结果中的相应列选择数据类型,并自动相应地转换各 query-block 中的列。
UNION 的第一个查询块用于确定要与 ORDER BY 子句匹配的名称。
显示的列名与为第一个 query-block 显示的列名相同。另一种自定义结果集列名的方法是在 query-block 上使用 WITH 子句。
必须具有对各 query-block 的 SELECT 权限。
无。
SQL/2003 核心特性。
列出雇员和客户的所有不重复的姓。
SELECT Surname FROM Employees UNION SELECT Surname FROM Customers; |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |