この文は、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
OPTION 句 この句は、文を実行するためのヒントを指定するときに使用します。次のヒントがサポートされます。
これらのオプションの詳細については、SELECT 文の OPTIONS 句の説明を参照してください。
いくつかのクエリ・ブロックの結果を、UNION を使ってより大きな結果へと結合することができます。各 query-block では、それぞれ select リストの中の項目数が同じになるようにしてください。
UNION ALL の結果は、単にクエリ・ブロックの結果を結合したものです。UNION の結果は UNION ALL と同じですが、重複ローが削除されている点が異なります。重複ローを削除するには余分な処理が必要なため、可能であれば UNION の代わりに UNION ALL を使用してください。UNION DISTINCT は UNION と同じです。
2 つの select リスト内の対応する項目が異なるデータ型の場合、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 |