方法1: NULL値を使用して列を合わせる この方法では、異なる列を持つテーブルをUNIONする際に、欠けている列をNULL値で埋めます。
例えば、以下の2つのテーブルがあるとします。
テーブル1 (table1): | id | name | age |
---|---|---|---|
1 | John | 25 | |
2 | Mary | 30 |
テーブル2 (table2): | id | city |
---|---|---|
3 | London | |
4 | Beijing |
これらのテーブルをUNIONするために、以下のクエリを使用します。
SELECT id, name, age, NULL AS city FROM table1
UNION ALL
SELECT id, NULL AS name, NULL AS age, city FROM table2;
このクエリでは、テーブル1の列に対応するNULL値の列を追加し、テーブル2の列に対応するNULL値の列を追加しています。
方法2: 列のエイリアスを使用する この方法では、異なる列を持つテーブルをUNIONする際に、エイリアスを使用して列を合わせます。
例えば、以下の2つのテーブルがあるとします。
テーブル1 (table1): | id | name | age |
---|---|---|---|
1 | John | 25 | |
2 | Mary | 30 |
テーブル2 (table2): | id | city |
---|---|---|
3 | London | |
4 | Beijing |
これらのテーブルをUNIONするために、以下のクエリを使用します。
SELECT id, name, age FROM table1
UNION ALL
SELECT id, city AS name, NULL AS age FROM table2;
このクエリでは、テーブル2のcity列をname列にエイリアスとして指定し、テーブル1と列の数とデータ型を一致させています。
以上の方法で、異なる列を持つテーブルをUNIONすることができます。適切な方法は、データの構造に応じて異なる場合があります。