あるテーブルから別のテーブルへのデータの挿入を実装するには、2つの異なる方法があります。
既存のテーブルの場合-INSERT INTO SELECT
この方法は、テーブルがすでにデータベースに作成されており、データが別のテーブルからこのテーブルに挿入される場合に使用されます。insert節とselect節にリストされている列が同じである場合、それらをリストする必要はありません。読みやすさとスケーラビリティの目的で、常にそれらをリストすることをお勧めします。
----Create testable
CREATE TABLE TestTable (FirstName VARCHAR(100), LastName VARCHAR(100))
----INSERT INTO TestTable using SELECT
INSERT INTO TestTable (FirstName, LastName)
SELECT FirstName, LastName
FROM Person.Contact
WHERE EmailPromotion = 2
----Verify that Data in TestTable
SELECT FirstName, LastName
FROM TestTable
----Clean Up Database
DROP TABLE TestTable
存在しないテーブルの場合-SELECT INTO
このメソッドは、テーブルが以前に作成されておらず、あるテーブルのデータを別のテーブルから新しく作成されたテーブルに挿入するときに作成する必要がある場合に使用されます。新しいテーブルは、選択した列と同じデータ型で作成されます。
----Create a new table and insert into table using SELECT INSERT
SELECT FirstName, LastName
INTO TestTable
FROM Person.Contact
WHERE EmailPromotion = 2
----Verify that Data in TestTable
SELECT FirstName, LastName
FROM TestTable
----Clean Up Database
DROP TABLE TestTable
参照1 2