UNION 演算子 - 和集合を求める -

SQL-92/99   Oracle DB2 SQL Server MySQL PostgreSQL Access

SELECT文1
UNION [ ALL ]
SELECT文2

 UNION 演算子は、SELECT 文 1 の問い合せ結果と SELECT 文 2 の問い合せ結果の和集合を求めるときに使用します。 このとき、問い合せ結果の列数とデータ型が一致している必要があります。

-- 【説明】
-- この SQL 文は、「T_13_1_BK」表の問い合せ結果である 6 件のデータと「T_13_1」表の問い合せ結果である 6 件のデータのいずれかに含まれるデータを取得することになります。

SELECT * FROM T_13_1_BK
 UNION
  SELECT * FROM T_13_1;


SERIALI1_CODEI2_CODEI_COST
191001101101500
191002201205500
191003301307800
191004201206500
203001101102500
203003301309800
203002201206500
203004201205500
203005201205600
203006202205600

 UNION 演算子では、ALL キーワードを指定することで、複数の SELECT 文の問い合せ結果の和集合を求めるとき、重複するデータも含めた和集合を求めることができます。

-- 【説明】
-- この SQL 文は、「T_13_1_BK」表の問い合せ結果である 6 件のデータ、「T_13_1」表の問い合せ結果である 6 件のデータ、合計 12 件のデータを取得することになります。

SELECT * FROM T_13_1_BK
 UNION ALL
  SELECT * FROM T_13_1;


SERIALI1_CODEI2_CODEI_COST
191001101101500
191002201205500
191003301307800
191004201206500
203001101102500
203003301309800
203001101102500
203002201206500
203003301309800
203004201205500
203005201205600
203006202205600

参考表

T_13_1

SERIALI1_CODEI2_CODEI_COST
203001101102500
203002201206500
203003301309800
203004201205500
203005201205600
203006202205600

T_13_1_BK

SERIALI1_CODEI2_CODEI_COST
191001101101500
191002201205500
191003301307800
191004201206500
203001101102500
203003301309800