SQLで2つのデータベースのテーブルを結合する方法は?
2つのデータベース内のテーブルを結合する方法は次のとおりです:
- INSERT INTO文を使用すると、ソースデータベースのテーブルデータをターゲットデータベースのテーブルに挿入できます。例:
INSERT INTO 目标数据库.目标表
SELECT * FROM 源数据库.源表;
この操作は、元のテーブルにあるすべてのデータをターゲットテーブルにコピーします。
- 同じ列構造を持つ2つのテーブルのデータを1つの結果セットに組み合わせる場合、UNIONまたはUNION ALL演算子を使用できます。UNION演算子は重複を削除しますが、UNION ALL演算子は重複行を保持します。例:
SELECT * FROM 源数据库.源表
UNION ALL
SELECT * FROM 目标数据库.目标表;
これは2つのテーブルデータをマージした結果セットを返します。
- 複数のINSERT INTOステートメントを使用する:2つのテーブル構造が異なる場合、データをソーステーブルからターゲットテーブルに挿入するために複数のINSERT INTOステートメントを使用することができます。必要に応じてデータ変換やマッピングを行うことができます。例:
INSERT INTO 目标数据库.目标表 (目标列1, 目标列2, ...)
SELECT 源列1, 源列2, ...
FROM 源数据库.源表;
目標テーブルの列とソーステーブルの対応する列が同じデータ型と長さを持つことを確認する必要があります。
上記の方法は、MySQL、Oracle、SQL Serverなどのほとんどのリレーショナルデータベースに適用されます。具体的な構文や手順はデータベースによって異なる場合がありますので、使用しているデータベースシステムに合わせて調整してください。