MySQL
MySQLのユニオン
サーチ…
構文
- 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