他のテーブルのレコードの値をinsertをするSQL文を紹介します。
書式
他のテーブルのレコードの値をを挿入する場合は下記の書式を利用します。
insert into 挿入するテーブル名(列名1, 列名2, ...) select (参照元テーブル列名1, 参照元テーブル列名2, ...) from 参照元テーブル名
insert into 挿入するテーブル名(列名1, 列名2, ...) select (参照元テーブル列名1, 参照元テーブル列名2, ...) from 参照元テーブル名 where (参照元テーブルからの抽出の条件式)
記述例
他のテーブルの内容を挿入するSQLの記述例です。
Table_Bのレコードを下記とします。
Table_B
id | Xname | Xcategory | Xprice |
230 | ぺんぎん | 鳥 | 56800 |
231 | あひる | 鳥 | 2800 |
232 | かるがも | 鳥 | 2400 |
Table_Aの構造を下記とします。
Table_A (idは自動採番)
id | name | category | price |
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
id | name | category | price |
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
id | name | category | price |
1 | くま | 哺乳類 | 8400000 |
2 | せみ | 昆虫 | 120 |
3 | ぺんぎん | 鳥 | 0 |
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
最終更新日: 2024-01-07
作成日: 2009-09-14