sql内のunionを使用して複数の表を1つの新しい表に結合する方法は、どうやって実現しますか?

SQLでは、複数のSELECT文の結果をUNION演算子を使用して1つの結果セットにマージすることができます。具体的な実装方法は次の通りです:

CREATE TABLE new_table AS
SELECT column1, column2, ...
FROM table1
UNION
SELECT column1, column2, ...
FROM table2
UNION
SELECT column1, column2, ...
FROM table3;

上記の例では、table1、table2、table3の結果をUNION演算子を使って新しいテーブルnew_tableに結合しました。結合するテーブルが同じ列数と類似したデータ型を持っていることを確認する必要があります。さもないとエラーが発生する可能性があります。

その他、マージした結果セット内の列名を指定する場合は、各SELECT文でエイリアスを使用することができます。

CREATE TABLE new_table AS
SELECT column1 AS new_column_name1, column2 AS new_column_name2, ...
FROM table1
UNION
SELECT column1 AS new_column_name1, column2 AS new_column_name2, ...
FROM table2
UNION
SELECT column1 AS new_column_name1, column2 AS new_column_name2, ...
FROM table3;

このように、新しいテーブル「new_table」の列名は、元の列名ではなく、指定された別名に基づくようになります。

bannerAds