SQL SELECT INTO – So kopieren Sie Datensätze in Tabellen

Mit SQL SELECT INTO kopieren und übertragen Sie ausgewählte Datensätze in neue Tabellen oder in temporäre Speicherbereiche. Das bietet den Vorteil einer schnellen und zuverlässigen Datenübertragung, mit der Sie Datensätze lückenlos ordnen, aktualisieren und aufräumen.

Was ist SQL SELECT INTO?

Die Datenbank- und Programmiersprache SQL bietet eine Reihe an Werkzeugen, mit denen Sie Ihre Datenbank professionell verwalten, analysieren und bearbeiten können. Dazu zählen Befehle wie SQL SELECT, mit dem sich in Kombination mit weiteren Operatoren vielfältige Aktionen ausführen lassen. Via SQL SELECT DISTINCT entfernen Sie beispielsweise Duplikate während Sie mit dem Operator SQL SELECT INTO Datensätze aus einer Tabelle in eine andere kopieren. SELECT INTO zählt nicht zu den klassischen SQL-Befehlen, SQL-Operatoren oder Funktionen, sondern gilt als SQL-Klausel in SQL-Statements.

Tipp

Lernen Sie die wichtigsten Grundlagen und Funktionen von SQL kennen – eine der branchenübergreifend gefragtesten Programmier- und Datenbanksprachen. Unsere SQL-Einführung mit Beispielen sorgt für einen erfolgreichen und schnellen Einstieg.

Die Syntax von SELECT INTO erklärt

Die einfache SELECT INTO-Syntax sieht wie folgt aus:

SELECT  *
INTO  neue_zieltabelle
FROM bestehende_tabelle;
sql

Diese Parameter kommen zum Einsatz:

  • SELECT: Der Befehl SELECT definiert die Spalten in der bestehenden Tabelle, aus denen Sie Daten kopieren möchten. Sie können entweder spezifische Spaltenbezeichnungen angeben oder den Asterisk * nutzen, um alle Daten der Quelltabelle zu kopieren.
  • INTO: Definiert und benennt die neue Zieltabelle für kopierte Datensätze.
  • FROM: Wählt die bestehende Tabelle aus, aus der Sie Datensätze kopieren möchten.
  • WHERE: Mit der optionalen Klausel SQL WHERE definieren Sie weitere, konkrete Bedingungen, die die zu kopierenden Daten aus der Quelltabelle erfüllen sollen.

Für diese Anwendungsmöglichkeiten eignet sich der SELECT INTO-Operator

Grundsätzlich eignet sich SQL SELECT INTO, um Daten in eine neue Tabelle zu übertragen. Weitere Anwendungsmöglichkeiten umfassen die Aggregation, das zeitweilige Zwischenspeichern oder das Extrahieren von Datensätzen oder Teilmengen. Durch das zusätzliche Entfernen von Duplikaten, beispielsweise mit DISTINCT, können Sie Ihre Daten zudem bereinigen und reduzieren.

Praktische Anwendungsfälle aus verschiedenen Branchen umfassen unter anderem:

  • Kopieren, Extrahieren und Übertragen von Kunden-, Bestell-, Patienten- oder Produktdaten für neue Projekte, Studien oder Datenmigration
  • Trend- und Marketinganalysen durch aggregierte Bestell- und Verkaufsdaten
  • Analyse von Finanzdaten durch die Übertragung von Transaktionsdaten
  • Bereinigen von Kunden- oder Mitarbeiterdaten durch das Entfernen von Duplikaten in neuen Tabellen
  • Sammlung und Analyse von Daten in Data Warehouses
  • Datensammlung für Machine-Learning-Modelle
Tipp

Sie suchen ein skalierbares, sicheres Datenbankmanagementsystem? Nutzen Sie SQL-Server-Hosting von IONOS und entdecken Sie individuelle Server- und Hosting-Angebote mit deutschen Standards für Datenschutz.

vServer (VPS) von IONOS

Günstige und starke VPS für Webserver, Mailserver und eigene Anwendungen mit persönlichem Berater und 24/7 Support!

100 % SSD-Speicher
Bereit in 55 Sek.
SSL Zertifikat

Praktische Beispiele für SQL SELECT INTO

Um zu veranschaulichen wie SQL SELECT INTO funktioniert, erklären wir Ihnen den Operator an zwei praktischen Anwendungsbeispielen.

Eindeutige Kundinnen und Kunden auswählen und übertragen

Sie möchten in einer Tabelle „Bestellungen“ alle eindeutigen Resultate der Spalte „Kundenname“, ohne doppelte Zeilen durch Mehrfachbestellungen auswählen und in eine neue Tabelle „BestellungenNeu“ übertragen? Gehen Sie wie folgt vor:

SELECT DISTINCT Kundenname
INTO BestellungenNeu
FROM Bestellungen;
sql

Einträge von Kundinnen und Kunden aus einer bestimmten Region übertragen

Mit der WHERE-Klausel können Sie Kundendaten durch zusätzliche Bedingungen näher definieren. Möchten Sie zum Beispiel alle Einträge mit Kundennamen übertragen, die aus Deutschland stammen, gehen Sie wie folgt vor:

SQL Server:

SELECT Kundenname, Land
INTO BestellungenNeu
FROM Bestellungen
WHERE Land = 'Deutschland';
sql

MySQL, PostgreSQL, SQlite:

INSERT INTO BestellungenNeu (Kundenname, Land)
SELECT Kundenname, Land
FROM Bestellungen
WHERE Land = 'Deutschland';
sql

Alternativen zu SQL SELECT INTO

Für das Kopieren und Übertragen von Daten zwischen Tabellen gibt es zusätzlich zu SELECT INTO noch weitere Optionen. Wir stellen die wichtigsten davon kurz vor:

  • INSERT INTO SELECT: Mit SQL INSERT INTO SELECT kopieren und übertragen Sie ausgewählte Datensätze oder Ergebnisse in Kombination mit SELECT aus einer Tabelle in eine bereits bestehende Tabelle. Der Unterschied liegt in der Tatsache, dass sich mit SELECT INTO für das Kopieren und Übertragen eine neue Tabelle erstellen lässt.
  • CREATE TABLE AS: Mit der Anweisung SQL CREATE TABLE können Sie eine neue Tabelle erstellen. In Verbindung mit SQL SELECT und AS können Sie zusätzlich definieren, dass die neue Tabelle auf den Ergebnissen der SELECT-Anweisung basieren und somit ausgewählte Daten einer bestehenden Tabelle enthalten soll.
  • UNION oder UNION ALL: Mit dem Operator SQL UNION vereinen Sie Datensätze ausgewählter Tabellen und Spalten in einer neuen Ausgabetabelle ohne Duplikate. In Kombination mit dem logischen Operator ALL legen Sie fest, dass hierbei alle Datensätze einer Tabelle inklusive Duplikate zu berücksichtigen sind.
  • IMPORT TABLE: Die Anweisung IMPORT TABLE eignet sich nur, wenn Sie Datensätze aus externen Tabellen und Dateien in eine Tabelle importieren möchten. Die Anweisung steht vor allem in neueren SQL-Versionen zur Auswahl.
  • LOAD DATA INFILE: Die Anweisung funktioniert im Grunde wie IMPORT TABLE, bietet jedoch eine flexiblere, wenn auch komplexere Anwendung und mehr unterstützte Formate für externe Datenquellen. Sie ist zudem in allen SQL-Versionen verfügbar.