最新のWeb開発のチュートリアル
 

SQL UNION演算子


SQL UNION演算子は、二つ以上のSELECT文の結果を兼ね備えています。


SQL UNION演算子

UNION演算子は、2つ以上のSELECT文の結果セットを組み合わせるために使用されます。

UNION内の各SELECT文の列の数が同じでなければならないことに注意してください。 列も同様のデータ型を持っている必要があります。 また、各SELECT文の列は、同じ順序でなければなりません。

SQL UNION構文

SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2 ;

Note: UNION演算子は、デフォルトでは異なる値のみを選択します。 重複値を許可するには、UNIONでALLキーワードを使用します。

SQL UNION ALL構文

SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2 ;

PS: UNIONの結果セットの列名は、通常、UNIONの最初のSELECT文の列名に等しいです。


デモデータベース

このチュートリアルでは、よく知られているNorthwindサンプルデータベースを使用します。

下からの選択である"Customers"テーブルには:

顧客ID 顧客名 連絡先 住所 シティ 郵便番号
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitucion 2222 Mexico D.F. 05021 Mexico
3 Antonio Moreno Taqueria Antonio Moreno Mataderos 2312 Mexico D.F. 05023 Mexico

以下とからの選択"Suppliers"テーブル:

仕入 サプライヤ名 連絡先 住所 シティ 郵便番号
1 エキゾチックな液体 シャーロット・クーパー 49ギルバートセント ロンドン EC1 4SD イギリス
2 ニューオーリンズケイジャンデライト シェリー・バーク 私書箱78934 ニューオーリンズ 70117 アメリカ合衆国
3 おばあちゃんケリーのホームステッド レジーナマーフィー 707オックスフォードRdを。 アナーバー 48104 アメリカ合衆国

SQL UNION例

次のSQL文からすべての異なる都市(異なる値のみ)を選択し、 "Customers""Suppliers"テーブル:

SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;
»それを自分で試してみてください

Note: UNION 2つのテーブルからすべての都市をリストするために使用することはできません。 いくつかの顧客やサプライヤーが同じ都市を共有している場合、各都市は一度だけ表示されます。 UNIONは異なる値のみを選択します。 また、重複する値を選択するために、UNION ALLを使用してください!


SQL UNION ALL例

次のSQL文は、 すべての(重複値も)の都市を選択するために、UNION ALLを使用して"Customers""Suppliers"テーブルを:

SELECT City FROM Customers
UNION ALL
SELECT City FROM Suppliers
ORDER BY City;
»それを自分で試してみてください

SQLのUNION ALLで

次のSQL文は、(また、重複した値)は、 ドイツからの都市のすべてを選択するには、UNION ALLを使用して"Customers""Suppliers"テーブルを:

SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION ALL
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;
»それを自分で試してみてください