トップDML追加 ≫ 他のテーブルやビューから選択したレコードを追加する

他のテーブルやビューから選択したレコードを追加する

INSERT文の中でSELECT文による副問合せを行うことで,他のテーブルやビューから選択したレコードを追加することができます.

INSERT ... SELECT

他のテーブルやビューから選択したレコードを追加するにはINSERT文を以下のような書き方で使用します.

INSERT INTO テーブル名A (列名A-1, 列名A-2, ...)
    SELECT 列名B-1, 列名B-2, ...
    FROM テーブル名B
    [WHERE 条件式]

SQL サンプル

例として受給フラグが1の従業員を受給者マスタに追加します.

従業員

従業員コード従業員名性別年齢受給フラグ
E0001チャーリー・ブラウン男性191
E0002ルシール・ヴァン・ぺルト女性200
E0003ライナス・ヴァン・ぺルト男性211

受給者

受給者コード受給者名
R0001シュローダー
R0002ペパーミント・パティ
R0003マーシー

SQL

INSERT INTO 受給者 (受給者コード, 受給者名)
    SELECT 従業員コード, 従業員名
    FROM 従業員
    WHERE 受給フラグ = 1

結果

受給者コード受給者名
R0001シュローダー
R0002ペパーミント・パティ
R0003マーシー
E0001チャーリー・ブラウン
E0003ライナス・ヴァン・ぺルト