サーチ…


構文

  • SELECT column_name(s)FROM table1 UNION SELECT column_name(s)FROMテーブル2;
  • SELECT column_name(s)FROM table1 UNION ALL SELECT column_name(s)FROMテーブル2;
  • SELECT column_name(s)FROM table1 WHERE col_name = "XYZ" UNION ALL SELECT column_name(s)FROM table2 WHERE col_name = "XYZ";

備考

UNION DISTINCT同じですUNION 。重複排除のためUNION ALLよりも遅いです。良い方法は、常にDISTINCTまたはALL綴ることですDISTINCTこれによって、あなたは何をすべきかを考えています。

組合オペレータ

UNION演算子は、2つ以上のSELECTステートメントの結果セット( 個別の値のみ )を結合するために使用されます

クエリ:( 「得意先」テーブルと「仕入先」テーブルから異なる都市のみを選択するには)

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

結果:

Number of Records: 10

City
------
Aachen
Albuquerque
Anchorage
Annecy
Barcelona
Barquisimeto
Bend
Bergamo
Berlin
Bern

ユニオンALL

UNION ALLを使用して、「得意先」テーブルと「仕入先」テーブルからすべての都市(重複値も含む)を選択します。

クエリ:

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

結果:

Number of Records: 12

City
-------
Aachen
Albuquerque
Anchorage
Ann Arbor
Annecy
Barcelona
Barquisimeto
Bend
Bergamo
Berlin
Berlin
Bern

UNION ALLとWHERE

UNION ALLを使用して、ドイツの都市を「得意先」テーブルと「仕入先」テーブルからすべて選択します(重複値も)。ここでは、 Country="Germany" where句で指定します。

クエリ:

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

結果:

Number of Records: 14
シティ
アーヘンドイツ
ベルリンドイツ
ベルリンドイツ
ブランデンブルク州ドイツ
Cunewalde ドイツ
クックスハーフェンドイツ
フランクフルトドイツ
フランクフルトドイツ
ケルンドイツ
ライプツィヒドイツ
マンハイムドイツ
ミュンヘンドイツ
ミュンスタードイツ
シュトゥットガルトドイツ


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow