Существует два разных способа реализации вставки данных из одной таблицы в другую.
Для существующей таблицы - INSERT INTO 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