SQLを使って、複数のクエリ結果を縦に結合するにはどうすればいいですか?

SQLでは、UNION演算子を使用して複数のクエリー結果を縦に結合できます。UNION演算子は、2 つ以上の SELECT ステートメントの結果セットを結合するために使用され、すべての結果を含む単一の結果セットを返します。

文法は次のとおりです。

SELECT column1, column2, ... FROM table1
UNION
SELECT column1, column2, ... FROM table2
UNION
...

ご注意ください

  1. UNION演算子はデフォルトでは重複行を取り除きますので、重複行を含む場合はUNION ALL演算子を使用できます。
  2. UNION 演算子では、各クエリの列数とデータ型が一致している必要があります。
  3. UNION 演算子の順番はクエリ文の順序どおりに実行される

例:

table1 と table2 の2つのテーブルがあると想定します。それぞれの構造とデータは次のとおりです。

商品はこちらのテーブルにございます。

id | name
---|-----
1  | Alice
2  | Bob

テーブル2

id | name
---|-----
1  | Charlie
3  | David

この2つのテーブルの結果をマージするには、次の SQL ステートメントを使用できます。

SELECT id, name FROM table1
UNION
SELECT id, name FROM table2;

統合の結果は次のとおりです。

id | name
---|------
1  | Alice
2  | Bob
1  | Charlie
3  | David
bannerAds