Es gibt zwei verschiedene Möglichkeiten, Daten aus einer Tabelle in eine andere Tabelle einzufügen.
Für bestehende Tabellen - INSERT INTO SELECT
Diese Methode wird verwendet, wenn die Tabelle bereits zuvor in der Datenbank erstellt wurde und die Daten aus einer anderen Tabelle in diese Tabelle eingefügt werden sollen. Wenn die in der Einfügeklausel und der Auswahlklausel aufgeführten Spalten identisch sind, ist es nicht erforderlich, sie aufzulisten. Aus Gründen der Lesbarkeit und Skalierbarkeit ist es jedoch sinnvoll, sie immer aufzuführen.
----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
Bei nicht vorhandener Tabelle - SELECT INTO
Diese Methode wird verwendet, wenn die Tabelle nicht vorher erstellt wurde und erstellt werden muss, wenn Daten aus einer Tabelle in die neu erstellte Tabelle aus einer anderen Tabelle eingefügt werden sollen. Die neue Tabelle wird mit denselben Datentypen wie die ausgewählten Spalten erstellt.
----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
Ref 1 2