Insert Into Select

0

Die SQL INSERT INTO SELECT Anweisung

Die Anweisung INSERT INTO SELECT kopiert Daten aus einer Tabelle und fügt sie in eine andere Tabelle ein.

Die Anweisung INSERT INTO SELECT erfordert, dass die Datentypen in Quell- und Zieltabellen übereinstimmen.

Hinweis: Die vorhandenen Datensätze in der Zieltabelle bleiben hiervon unberührt.

INSERT INTO SELECT Syntax

Alle Spalten einer Tabelle in eine andere Tabelle kopieren:

INSERT INTO table2
SELECT * FROM table1
WHERE condition;

Nur einige Spalten aus einer Tabelle in eine andere Tabelle kopieren:

INSERT INTO table2 (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM table1
WHERE condition;

Demo Datenbank

In diesem Tutorial verwenden wir die bekannte Northwind Beispieldatenbank.

Nachfolgend eine Auswahl aus der Tabelle „Kunden“:

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1
Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.05021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.05023Mexico

Und eine Auswahl aus der Tabelle „Anbieter“:

SupplierIDSupplierNameContactNameAddressCityPostal CodeCountry
1Exotic LiquidCharlotte Cooper49 Gilbert St.LondonaEC1 4SDUK
2New Orleans Cajun DelightsShelley BurkeP.O. Box 78934New Orleans70117USA
3Grandma Kelly’s HomesteadRegina Murphy707 Oxford Rd.Ann Arbor48104USA

SQL INSERT INTO SELECT Beispiele

Beispiel

Kopieren Sie „Lieferanten“ in „Kunden“ (die Spalten, die nicht mit Daten gefüllt sind, enthalten NULL):

INSERT INTO Customers (CustomerName, City, Country)
SELECT SupplierName, City, Country FROM Suppliers;

Beispiel

„Lieferanten“ in „Kunden“ kopieren (alle Spalten ausfüllen):

INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
SELECT SupplierName, ContactName, Address, City, PostalCode, Country FROM Suppliers;

Beispiel

Kopieren Sie nur die deutschen Lieferanten in „Kunden“:

INSERT INTO Customers (CustomerName, City, Country)
SELECT SupplierName, City, Country FROM Suppliers
WHERE Country='Germany';
Nach oben scrollen