SQL UNIONのサンプル

SQLのUNIONのサンプルです。

目次

SQLのUNION

select文 union select文
  • 複数のselect文の結果を結合して表示します。
  • 表示される項目名(ヘッダの部分)は、最初に記述したSQL文のSELECT句の項目名になります。
  • 最初のselect文と後のselect文のSELECT句のカラム数は同じである必要があります。

テストデータ

次の2つのテーブルがあるとします。

usersテーブル
user_id name
1 鈴木
2 田中
salesテーブル
user_cd item_no
1 A001
1 B001
99 D001

SQL文

上記テーブルに対してunionを使用してデータを抽出します

2行目は、unionです。

SELECT user_id,name FROM users
union
SELECT user_cd,item_no FROM sales;

結果は、上記2つのテーブルの行が表示されます。

実行結果
user_id name
1 鈴木
2 田中
1 A001
1 B001
99 D001

 

UNION ALL

select文 union all select文

union allはunionの機能に追加して、重複行を出力します。

説明用のデータ

例として次のテーブルがあるとします。

usersテーブル
user_id name
1 鈴木
2 田中

SQL文

上記テーブルに対してunion allを使用してデータを抽出します

2行目は、union allです。

SELECT * FROM users
union all
SELECT * FROM users;

結果は、以下のように重複して抽出されます。

実行結果
user_id name
1 鈴木
2 田中
1 鈴木
2 田中

unionにallをつけない場合

unionにallをつけない場合は、重複行を出力しません。

SELECT * FROM users
union
SELECT * FROM users;
実行結果
user_id name
1 鈴木
2 田中

関連の記事

SQL INSERT文のサンプル
SQL UPDATE文とDELETE文のサンプル
SQL 重複行を表示しないサンプル(distinct)
SQL 複数の行をまとめる(集約関数/group by/having)
SQL 外部結合のサンプル(left outer join/right outer join)
SQL 副問合せのサンプル(サブクエリ)
SQL 自己結合のサンプル
SQL 内部結合のサンプル(inner join)

△上に戻る