1 つ以上の SELECT 文を組み合わせます。
Synopsis
select-statement {UNION [ALL] select-statement}

select-statement {UNION [ALL] (query)}

(query) {UNION [ALL] select-statement}

(query) {UNION [ALL] (query)}
引数
select-statement データベースからデータを検索する SELECT 文。
query 1 つまたは複数の SELECT 文を組み合わせるクエリ。
概要
UNION は 2 つ以上の "SELECT" 文を単一のクエリとして組み合わせ、結果セットにデータを取り出します。SELECT 文の間で UNION を可能にするには、それぞれで指定された列数が一致し、それぞれの指定された列が他の SELECT 文内の対応する列位置と互換性を持つデータ型である必要があります。1 つの SELECT 内に NULL 列を指定し、列数を一致させるために別の SELECT 内のデータ列と組み合わせることができます。この NULL 使用方法を以下の例に示します。
対応する列は 2 つのテーブル内で同じ名前をほとんど持たないため、結果セット列を識別するために AS 節を使用することをお勧めします。AS が指定されておらず、列名が同一でない場合、Caché SQL は結果セット列に Literal_2 のような名前を割り当てます。
一般の UNION は、結果セットからの重複する行 (すべての値が同一) を削除します。UNION ALL は、結果セット内に重複する行を保存します。
UNION 文は、結果セットに順番を付ける ORDER BY 節で終了できます。UNION 内の他の任意の場所では ORDER BY 節を指定できません。
結果セット内の文字列フィールドには常に EXACT 照合が割り当てられます。
以下の例は、2 つのテーブルのそれぞれで見つかったすべての Name に対応する行を持つ結果セットを生成しています。Name が両方のテーブルで見つかった場合、行が 2 つ作成されます。Name が従業員の場合、State としての "オフィス" という用語と従業員の役職とを連結して、オフィスの場所をリストします。Name が人の場合、State としての "自宅" という用語と役職に対する <null> とを連結して、自宅の場所をリストします。ORDER BY 節は結果セットを処理し、行の組み合わせは Name を使って順番に並べられます。
SELECT Name,Office_State||' office' AS State,Title 
FROM Sample.Employee
UNION
SELECT Name,Home_State||' home',NULL
FROM Sample.Person
ORDER BY Name
関連項目