Zurück zu: SQL Tutorial
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“:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
Und eine Auswahl aus der Tabelle „Anbieter“:
SupplierID | SupplierName | ContactName | Address | City | Postal Code | Country |
---|---|---|---|---|---|---|
1 | Exotic Liquid | Charlotte Cooper | 49 Gilbert St. | Londona | EC1 4SD | UK |
2 | New Orleans Cajun Delights | Shelley Burke | P.O. Box 78934 | New Orleans | 70117 | USA |
3 | Grandma Kelly’s Homestead | Regina Murphy | 707 Oxford Rd. | Ann Arbor | 48104 | USA |
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';