SELECTした結果を別のテーブルにINSERTする方法
「INSERT SELECT文」の基本構文
全列を「テーブル2」からSELECTして「テーブル1」に挿入する場合。
INSERT INTO <テーブル1> SELECT * FROM <テーブル2> [WHERE <列名> = <式>];
列を指定して「テーブル1」からSELECTして「テーブル2」に挿入する場合。
INSERT INTO <テーブル2> ( <列名>[,<列名>,…] ) SELECT <列名>[,<列名>,…] FROM <テーブル1> [WHERE <列名> = <式>];
「INSERT SELECT文」の実行例
列を指定しないデータを挿入する場合。
SQL> INSERT INTO animal2 2 SELECT * FROM animal1; 3行が作成されました。
列を指定してデータを挿入する場合。
SQL> INSERT INTO animal2 ( id, name ) 2 SELECT id, name FROM animal1 3 WHERE id = '001'; 1行が作成されました。
コメント