Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
2 つ以上の SELECT 文またはクエリ式の結果を結合します。
[ 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 (許可されたインジケータ) | string | identifier | number
FOR XML 句 FOR XML 句の詳細については、SELECT 文を参照してください。
OPTION 句 この句は、文を実行するためのヒントを指定するときに使用します。次のヒントがサポートされます。
OPTION( isolation_level = ... )
UNION ALL は、2 つのクエリブロックの結果を連結して、単一の (より大きな) 結果セットにします。それぞれのクエリブロックはネストされることがあります。UNION DISTINCT は最終結果から重複ローを削除します。重複ローを削除するには余分な処理が必要なため、可能であれば UNION の代わりに UNION ALL を使用してください。UNION DISTINCT は UNION と同じです。
2 つの query-block の結果セットが UNION 対応になっている必要があります。つまり、それぞれの SELECT リストに同じ数の項目があり、個々の式のデータ型が比較可能となっている必要があります。2 つの SELECT リスト内の対応する項目が異なるデータ型の場合、SQL Anywhere は結果の中から対応するカラムのデータ型を選択し、各 query-block のカラムを自動的にそれぞれ変換します。
表示されるカラム名は最初の query-block に表示されるカラム名と同じであり、これらの名前は ORDER BY 句と一致する式の名前を判断するために使用されます。結果セットのカラム名をカスタマイズする別の方法として、共通のテーブル式 (WITH 句) を使用する方法があります。
query-block で指定されているオブジェクトの所有者であるか、論理和にジョインするオブジェクトに対する SELECT 権限を持っている必要があります。
なし
SQL/2008 UNION は SQL/2008 標準のコア機能です。UNION とともに DISTINCT キーワードを明示的に指定する方法は、オプションの SQL 言語機能 T551 です。UNION とともに ORDER BY 句を指定する方法は、SQL 言語機能 F850 です。ORDER BY 句を含む query-block は、SQL/2008 機能 F851 の構成要素です。ロー制限句 (SELECT TOP または LIMIT) を含むクエリブロックは、コンテキストに応じて、オプションの SQL 言語機能 F857 または F858 を構成します。FOR XML 句と OPTION 句はベンダー拡張です。
Transact-SQL UNION と UNION ALL は Adaptive Server Enterprise によってサポートされます。FOR XML 句と OPTION 句はサポートされません。
従業員と顧客のそれぞれの姓すべてをリストします。
SELECT Surname FROM GROUPO.Employees UNION SELECT Surname FROM GROUPO.Customers;