MySQLで2つのテーブルをUNION句でマージの方法

MySQLでUNION演算子を使って2つ以上の表を結合することができます。UNION演算は2つ以上のSELECT文の結果セットを1つの結果セットにまとめるものです。

UNIONで2つのテーブルをマージする例を以下に示します:

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

上記の例では、column1 と column2 は結合する列の名前で、table1 と table2 は結合するテーブルの名前です。2 つの SELECT ステートメントの結果セットは、列の順序に従って 1 つの結果セットに結合されます。

UNION 演算の結果セットは自動的に重複を除去します。つまり、2 つのテーブルに同じ行がある場合、1 つだけが保持されます。重複した行を含める必要がある場合は、UNION ALL キーワードを使用できます。

SELECT column1, column2 FROM table1
UNION ALL
SELECT column1, column2 FROM table2;

UNION演算によって、重複行も含めて両方の表の全行が保持されます。

結合したい2つのテーブルは、列の数が同じで、かつ列の型が同じである必要があります。列の数や型が一致しない場合は、UNION演算子で結合できません。

bannerAds