SQL UNION と UNION ALL 演算子
- 前のページ SQL Full Join
- 次のページ SQL Select Into
SQL UNION 演算子
UNION 演算子は、2つまたはそれ以上の SELECT 文の結果セットを合併するために使用されます。
UNION 内部の SELECT 文は同じ数の列を持っている必要があります。列も同じデータタイプを持っている必要があります。また、各 SELECT 文の列の順序も同じでなければなりません。
SQL UNION 文法
SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2
注釈:デフォルトでは、UNION演算子は異なる値を選択します。重複の値を許可する場合は、UNION ALLを使用してください。
SQL UNION ALL 文法
SELECT column_name(s) FROM table_name1 UNION ALL SELECT column_name(s) FROM table_name2
また、UNIONの結果セット内の列名は常に、UNION内の最初のSELECT文の列名と同じです。
以下の例では、元のテーブルを使用しています:
Employees_China:
E_ID | E_Name |
---|---|
01 | 張, 华 |
02 | 王, 智 |
03 | Carter, Thomas |
04 | 楊, 明 |
Employees_USA:
E_ID | E_Name |
---|---|
01 | Adams, John |
02 | Bush, George |
03 | Carter, Thomas |
04 | Gates, Bill |
UNION コマンドを使用
例
中国とアメリカのすべての異なる従業員名をリストアップします:
SELECT E_Name FROM Employees_China UNION SELECT E_Name FROM Employees_USA
結果
E_Name |
---|
張, 华 |
王, 智 |
Carter, Thomas |
楊, 明 |
Adams, John |
Bush, George |
Gates, Bill |
注釈:このコマンドは中国とアメリカのすべての従業員をリストアップすることができません。上の例では、同じ名前の従業員が2人いますが、そのうち1人だけがリストアップされました。UNION コマンドは異なる値のみを選択します。
UNION ALL
UNION ALL コマンドと UNION コマンドはほぼ同等ですが、UNION ALL コマンドはすべての値をリストアップします。
SQL ステートメント 1 UNION ALL SQL ステートメント 2
UNION ALL コマンドを使用
例:
中国とアメリカのすべての従業員をリストアップします:
SELECT E_Name FROM Employees_China UNION ALL SELECT E_Name FROM Employees_USA
結果
E_Name |
---|
張, 华 |
王, 智 |
Carter, Thomas |
楊, 明 |
Adams, John |
Bush, George |
Carter, Thomas |
Gates, Bill |
- 前のページ SQL Full Join
- 次のページ SQL Select Into