SELECTした結果をくっつけて表示するには、UNIONを使用します。
UNIONは集合演算子のひとつです。
構文
UNIONには、以下2つのパターンがあります。
- (同じ結果の行は1つにまとめる場合)
- <SELECT文1> UNION <SELECT文2>
- (同じ結果の行も1つにまとめない場合)
- <SELECT文1> UNION ALL <SELECT文2>
サンプル
CD | NAME |
---|---|
101 | 鈴木 |
102 | 佐藤 |
103 | 田中 |
CD | NAME |
---|---|
104 | 山田 |
105 | 高橋 |
101 | 鈴木 |
例)同じ結果の行は1つにまとめる場合
1 2 3 |
SELECT cd, name FROM m_user01 UNION SELECT cd, name FROM m_user02; |
- 結果
- CD NAME ---- ------ 101 鈴木 102 佐藤 103 田中 104 山田 105 高橋
101の鈴木さんは重複しているので、まとめられます。
例)同じ結果の行も1つにまとめない場合
1 2 3 |
SELECT cd, name FROM m_user01 UNION ALL SELECT cd, name FROM m_user02; |
- 結果
- CD NAME ---- ------ 101 鈴木 102 佐藤 103 田中 104 山田 105 高橋 101 鈴木
101の鈴木さんは重複していますが、まとめられず2件表示されます。
メモ
- UNIONでつなげば複数のSELECT文をつなげることが可能です。
- UNIONでつなぐSELECT結果は、型と個数が合っている必要があります。
- 型と個数が合っていないと、以下の例外が発生します。
「ORA-12704: キャラクタ・セットが一致しません。」