他のテーブルのレコードや、select文で取得したレコードを挿入するSQL文を紹介します。
書式
insert into テーブル名(列名1,列名2,列名3,…) select 列名1,列名2,列名3,… from テーブル名
例
products テーブル
id | name | category | price |
1 | Penguin | Bird | 450 |
2 | Whale | Mammal | 5000 |
3 | Bear | Mammal | 680 |
4 | Ostrich | Bird | 550 |
5 | Hawk | Bird | 300 |
6 | Camel | Mammal | 700 |
working テーブル
id(自動採番) | code | value |
| | | |
上記のテーブルがあり、productsテーブルの"Bird"カテゴリのレコードをworkingテーブルに挿入する場合は以下のSQLを用います。productsテーブルのNameをworkingテーブルのcodeに、productsテーブルのpriceをworkingテーブルのvalueに挿入します。
insert into working (code, value) select name, price from products where category='Bird'
すべてのレコードをworkingテーブルに挿入する場合は以下のSQLを用います。
insert into working (code, value) select name, price from products
補足
SQL Serverで異なるデータベース間でのレコードの挿入は「
データベース間のレコードのコピーまたは移動 (SQL Server Tips)」の記事を参照してください。
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
最終更新日: 2024-01-06
作成日: 2014-07-21