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

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 参考 » 使用 SQL » SQL 语句 » SQL 语句 (P-Z)

 

UNION 子句

此语句用于合并两个或更多选择语句的结果。

语法
[ 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 子句   此子句用于指定执行语句时的提示。支持以下提示:

    • MATERIALIZED VIEW OPTIMIZATION option-value
    • FORCE OPTIMIZATION
    • option-name = option-value

    有关这些选项的说明,请参见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;