他のテーブルのレコードの値をinsertをする - SQL

他のテーブルのレコードの値をinsertをするSQL文を紹介します。

書式

他のテーブルのレコードの値をを挿入する場合は下記の書式を利用します。
insert into 挿入するテーブル名(列名1, 列名2, ...) select (参照元テーブル列名1, 参照元テーブル列名2, ...) from 参照元テーブル名
insert into 挿入するテーブル名(列名1, 列名2, ...) select (参照元テーブル列名1, 参照元テーブル列名2, ...) from 参照元テーブル名 where (参照元テーブルからの抽出の条件式)

記述例

他のテーブルの内容を挿入するSQLの記述例です。
Table_Bのレコードを下記とします。
Table_B
idXnameXcategoryXprice
230ぺんぎん56800
231あひる2800
232かるがも2400
Table_Aの構造を下記とします。
Table_A (idは自動採番)
idnamecategoryprice
1くま哺乳類8400000
2せみ昆虫120

下記のSQLを実行すると、Table_Bの id=230 の項目がTable_Aに挿入されます。
insert into Table_A(name, category) select Xname,Xcategory from Table_B where id = 230

挿入後のTable_Aは下記となります。
Table_A
idnamecategoryprice
1くま哺乳類8400000
2せみ昆虫120
3ぺんぎん

記述例:固定値を挿入する場合

固定値を挿入する場合は下記のSQLを利用します。
insert into Table_A(name, category, price) 
select Xname,Xcategory,'0' from Table_B where id = 230
先の例Table_A, Table_Bで上記のSQLを実行すると実行後のTable_Aは下記になります。
Table_A
idnamecategoryprice
1くま哺乳類8400000
2せみ昆虫120
3ぺんぎん0
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
最終更新日: 2024-01-07
作成日: 2009-09-14
iPentec all rights reserverd.