TECH I.S.

SQL UNION演算子


SQL UNION演算子

UNION演算子は、2つ以上のSELECT文の結果セットを結合するのに使われる。 UNION内の全てのSELECT文は同じ数の列を持たなければなりません。 列は同じようなデータ型でなければなりません。 全てのSELECT文の列は同じ順序でなければなりません。

UNION構文

SELECT <em>column_name(s)</em> FROM <em>table1</em> UNION SELECT <em>column_name(s)</em> FROM <em>table2</em>;

UNION ALL構文

UNION演算子は、デフォルトでは明確な値のみを選択します。重複する値を許容するには、UNION ALLを使用します。
SELECT <em>column_name(s)</em> FROM <em>table1</em> UNION ALL SELECT <em>column_name(s)</em> FROM <em>table2</em>;

注:結果セットのカラム名は通常、最初のSELECT文のカラム名と等しい。


デモデータベース

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

以下は、「顧客」テーブルからの選択です。

顧客ID

顧客名

連絡先

住所

郵便番号

1

アルフレッド・フードボックス マリア・アンダース オベレ通り57 ベルリン 12209 ドイツ
2 アナ・トルヒーヨ サンドイッチとアイスクリーム アナ・トルヒーヨ コンスティトゥシオン通り2222番地 メキシコDF 05021 メキシコ
3 アントニオ・モレノ・タケリア アンソニー・モレノ マタデロス 2312 メキシコDF 05023 メキシコ

そして、「サプライヤー」テーブルからの選択

サプライヤーID

サプライヤ名

連絡先

住所

郵便番号

1 エキゾチック・リキッド シャーロット・クーパー 49 ギルバート ストリート ロンドン EC1 4SD イギリス
2 ニューオーリンズのケイジャン料理 シェリー・バーク 私書箱 78934 ニューオーリンズ 70117 アメリカ合衆国
3 ケリーおばあちゃんのホームステッド レジーナ・マーフィー 707オックスフォードロード アナーバー 48104 アメリカ合衆国

SQL UNIONの例

次のSQLステートメントは、"Customers"テーブルと"Suppliers"テーブルの両方から都市(個別の値のみ)を返します。

SELECT City FROM Customers UNION SELECT City FROM Suppliers ORDER BY City;

自分で試してみる(開発準備中)»

注:同じ都市を持つ顧客やサプライヤーがいる場合、UNIONは明確な値のみを選択するため、各都市は一度だけリストされます。重複する値も選択するには、UNION ALLを使用します!


SQL UNION ALLの例

次のSQLステートメントは、"Customers"テーブルと"Suppliers"テーブルの両方から都市 (重複する値も) を返します。

SELECT City FROM Customers UNION ALL SELECT City FROM Suppliers ORDER BY City;

自分で試してみる(開発準備中)»


WHEREを使用したSQL UNION

次のSQLステートメントは、"Customers"テーブルと"Suppliers"テーブルの両方からドイツの都市 (個別の値のみ) を返します。

SELECT City, Country FROM Customers WHERE Country='Germany' UNION SELECT City, Country FROM Suppliers WHERE Country='Germany' ORDER BY City;

自分で試してみる(開発準備中)»


WHEREを使用したSQL UNION ALL

次のSQLステートメントは、"Customers"テーブルと"Suppliers"テーブルの両方からドイツの都市 (重複する値も) を返します。

SELECT City, Country FROM Customers WHERE Country='Germany' UNION ALL SELECT City, Country FROM Suppliers WHERE Country='Germany' ORDER BY City;

自分で試してみる(開発準備中)»


別のUNIONの例

次のSQLステートメントは、すべての顧客とサプライヤーを一覧表示します。

SELECT 'Customer' AS Type, ContactName, City, Country FROM Customers UNION SELECT 'Supplier', ContactName, City, Country FROM Suppliers;

自分で試してみる(開発準備中) »

上の「AS Type 」に注目してください。これはエイリアスです。SQL エイリアスは、テーブルやカラムに一時的な名前を付けるために使用されます。エイリアスはクエリの間だけ存在します。ここでは、コンタクトパーソンが 「Customer 」であるか 「Supplier 」であるかをリストする 「Type 」という名前の一時的なカラムを作成しました。

プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細