【SQL】 UNION演算子の使い方(和集合を求める)

演算子
演算子
この記事は約3分で読めます。
Recommended Articles

【SQL】 UNION演算子の使い方(和集合を求める)

UNION演算子は、以下で使用できます。
 ORACLE   MS-SQL  MS-Access 

UNION演算子 : 書式

SELECT文 UNION [ALL] SELECT文

UNION演算子 : 解説

UNION演算子は、集合演算の和を求める関数です。複数のSELECT文による問合せ結果の、和集合を取り出す演算を行うことができます。

UNION演算子だけを指定すると、重複を取り除いた和集合を返します。しかしALLキーワードを指定すると重複を削除しない和集合を返します。記述としては、複数のSELECT文をUNION演算子でつなぐだけです。

「商品A」表と「商品B」表からすべてのデータを取り出すSQLを、UNION演算子だけでつなぎ、重複を取り除いた和集合を求めてみます。

UNION演算子の前後のSELECT文に、OrderBy句 を入れるとエラーになる場合があるので、注意が必要です。

UNION演算子 : 使用例 

SQL文 
SELECT * FROM 商品A UNION SELECT * FROM 商品B;
実行結果
名前
画面のないテレビ
角の固い豆腐
割れない卵
光らない電球
時の卵
柄のない包丁
表:商品A
名前
割れない卵
角の固い豆腐
時の卵
柄のない包丁
表:商品B
名前
割れない卵
時の卵
光らない電球
画面のないテレビ

UNION演算子 : 使用例 (ALL) 

UNION演算子にALLキーワードを指定して、「商品A」表と「商品B」表の重複データを削除しないで、すべてのデータを求めてみます。

SQL文 
SELECT * FROM 商品A UNION ALL SELECT * FROM 商品B;
実行結果
名前
割れない卵
角の固い豆腐
時の卵
柄のない包丁
割れない卵
時の卵
光らない電球
画面のないテレビ

UNION と UNION ALL の違い

UNION2つの表の重複を削除して合体する
UNION ALL合体する2つの表の重複を削除しない

関連リンク

演算子一覧メニュー
SQLリファレンス > 演算子
演算子によって列に対する様々な演算が行えます。このページは、使用できる演算子の一覧表です。いちれべ.comは、オラクル、MS-SQL Server、MS-Access で使用可能か一目でわかるのが特徴のSEサポートサイトです。
Recommended Articles
いちれべ.com