Mit SQL SELECT INTO kopieren und über­tra­gen Sie aus­ge­wähl­te Da­ten­sät­ze in neue Tabellen oder in temporäre Spei­cher­be­rei­che. Das bietet den Vorteil einer schnellen und zu­ver­läs­si­gen Da­ten­über­tra­gung, mit der Sie Da­ten­sät­ze lückenlos ordnen, ak­tua­li­sie­ren und aufräumen.

Was ist SQL SELECT INTO?

Die Datenbank- und Pro­gram­mier­spra­che SQL bietet eine Reihe an Werk­zeu­gen, mit denen Sie Ihre Datenbank pro­fes­sio­nell verwalten, ana­ly­sie­ren und be­ar­bei­ten können. Dazu zählen Befehle wie SQL SELECT, mit dem sich in Kom­bi­na­ti­on mit weiteren Ope­ra­to­ren viel­fäl­ti­ge Aktionen ausführen lassen. Via SQL SELECT DISTINCT entfernen Sie bei­spiels­wei­se Duplikate während Sie mit dem Operator SQL SELECT INTO Da­ten­sät­ze aus einer Tabelle in eine andere kopieren. SELECT INTO zählt nicht zu den klas­si­schen SQL-Befehlen, SQL-Ope­ra­to­ren oder Funk­tio­nen, sondern gilt als SQL-Klausel in SQL-State­ments.

Tipp

Lernen Sie die wich­tigs­ten Grund­la­gen und Funk­tio­nen von SQL kennen – eine der bran­chen­über­grei­fend ge­frag­tes­ten Pro­gram­mier- und Da­ten­bank­spra­chen. Unsere SQL-Ein­füh­rung mit Bei­spie­len sorgt für einen er­folg­rei­chen 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 be­stehen­den Tabelle, aus denen Sie Daten kopieren möchten. Sie können entweder spe­zi­fi­sche Spal­ten­be­zeich­nun­gen angeben oder den Asterisk * nutzen, um alle Daten der Quell­ta­bel­le zu kopieren.
  • INTO: Definiert und benennt die neue Ziel­ta­bel­le für kopierte Da­ten­sät­ze.
  • FROM: Wählt die be­stehen­de Tabelle aus, aus der Sie Da­ten­sät­ze kopieren möchten.
  • WHERE: Mit der op­tio­na­len Klausel SQL WHERE de­fi­nie­ren Sie weitere, konkrete Be­din­gun­gen, die die zu ko­pie­ren­den Daten aus der Quell­ta­bel­le erfüllen sollen.

Für diese An­wen­dungs­mög­lich­kei­ten eignet sich der SELECT INTO-Operator

Grund­sätz­lich eignet sich SQL SELECT INTO, um Daten in eine neue Tabelle zu über­tra­gen. Weitere An­wen­dungs­mög­lich­kei­ten umfassen die Ag­gre­ga­ti­on, das zeit­wei­li­ge Zwi­schen­spei­chern oder das Ex­tra­hie­ren von Da­ten­sät­zen oder Teil­men­gen. Durch das zu­sätz­li­che Entfernen von Du­pli­ka­ten, bei­spiels­wei­se mit DISTINCT, können Sie Ihre Daten zudem be­rei­ni­gen und re­du­zie­ren.

Prak­ti­sche An­wen­dungs­fäl­le aus ver­schie­de­nen Branchen umfassen unter anderem:

  • Kopieren, Ex­tra­hie­ren und Über­tra­gen von Kunden-, Bestell-, Patienten- oder Pro­dukt­da­ten für neue Projekte, Studien oder Da­ten­mi­gra­ti­on
  • Trend- und Mar­ke­ting­ana­ly­sen durch agg­re­gier­te Bestell- und Ver­kaufs­da­ten
  • Analyse von Fi­nanz­da­ten durch die Über­tra­gung von Trans­ak­ti­ons­da­ten
  • Be­rei­ni­gen von Kunden- oder Mit­ar­bei­ter­da­ten durch das Entfernen von Du­pli­ka­ten in neuen Tabellen
  • Sammlung und Analyse von Daten in Data Warehou­ses
  • Da­ten­samm­lung für Machine-Learning-Modelle
Tipp

Sie suchen ein ska­lier­ba­res, sicheres Da­ten­bank­ma­nage­ment­sys­tem? Nutzen Sie SQL-Server-Hosting von IONOS und entdecken Sie in­di­vi­du­el­le Server- und Hosting-Angebote mit deutschen Standards für Da­ten­schutz.

vServer / VPS
VPS un­schlag­bar günstig auf Dell En­ter­pri­se Servern
  • 1 Gbit/s, un­be­grenzt Traffic & mehr Cores
  • Min­des­tens 99,99% Ver­füg­bar­keit & ISO-zer­ti­fi­zier­te Re­chen­zen­tren
  • Aus­ge­zeich­ne­ter 24/7 Premium-Support mit per­sön­li­chem Berater

Prak­ti­sche Beispiele für SQL SELECT INTO

Um zu ver­an­schau­li­chen wie SQL SELECT INTO funk­tio­niert, erklären wir Ihnen den Operator an zwei prak­ti­schen An­wen­dungs­bei­spie­len.

Ein­deu­ti­ge Kundinnen und Kunden auswählen und über­tra­gen

Sie möchten in einer Tabelle „Be­stel­lun­gen“ alle ein­deu­ti­gen Resultate der Spalte „Kun­den­na­me“, ohne doppelte Zeilen durch Mehr­fach­be­stel­lun­gen auswählen und in eine neue Tabelle „Be­stel­lun­gen­Neu“ über­tra­gen? Gehen Sie wie folgt vor:

SELECT DISTINCT Kundenname
INTO BestellungenNeu
FROM Bestellungen;
sql

Einträge von Kundinnen und Kunden aus einer be­stimm­ten Region über­tra­gen

Mit der WHERE-Klausel können Sie Kun­den­da­ten durch zu­sätz­li­che Be­din­gun­gen näher de­fi­nie­ren. Möchten Sie zum Beispiel alle Einträge mit Kun­den­na­men über­tra­gen, die aus Deutsch­land stammen, gehen Sie wie folgt vor:

SQL Server:

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

MySQL, Post­greS­QL, SQlite:

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

Al­ter­na­ti­ven zu SQL SELECT INTO

Für das Kopieren und Über­tra­gen von Daten zwischen Tabellen gibt es zu­sätz­lich zu SELECT INTO noch weitere Optionen. Wir stellen die wich­tigs­ten davon kurz vor:

  • INSERT INTO SELECT: Mit SQL INSERT INTO SELECT kopieren und über­tra­gen Sie aus­ge­wähl­te Da­ten­sät­ze oder Er­geb­nis­se in Kom­bi­na­ti­on mit SELECT aus einer Tabelle in eine bereits be­stehen­de Tabelle. Der Un­ter­schied liegt in der Tatsache, dass sich mit SELECT INTO für das Kopieren und Über­tra­gen eine neue Tabelle erstellen lässt.
  • CREATE TABLE AS: Mit der Anweisung SQL CREATE TABLE können Sie eine neue Tabelle erstellen. In Ver­bin­dung mit SQL SELECT und AS können Sie zu­sätz­lich de­fi­nie­ren, dass die neue Tabelle auf den Er­geb­nis­sen der SELECT-Anweisung basieren und somit aus­ge­wähl­te Daten einer be­stehen­den Tabelle enthalten soll.
  • UNION oder UNION ALL: Mit dem Operator SQL UNION vereinen Sie Da­ten­sät­ze aus­ge­wähl­ter Tabellen und Spalten in einer neuen Aus­ga­be­ta­bel­le ohne Duplikate. In Kom­bi­na­ti­on mit dem logischen Operator ALL legen Sie fest, dass hierbei alle Da­ten­sät­ze einer Tabelle inklusive Duplikate zu be­rück­sich­ti­gen sind.
  • IMPORT TABLE: Die Anweisung IMPORT TABLE eignet sich nur, wenn Sie Da­ten­sät­ze aus externen Tabellen und Dateien in eine Tabelle im­por­tie­ren möchten. Die Anweisung steht vor allem in neueren SQL-Versionen zur Auswahl.
  • LOAD DATA INFILE: Die Anweisung funk­tio­niert im Grunde wie IMPORT TABLE, bietet jedoch eine fle­xi­ble­re, wenn auch kom­ple­xe­re Anwendung und mehr un­ter­stütz­te Formate für externe Da­ten­quel­len. Sie ist zudem in allen SQL-Versionen verfügbar.
Zum Hauptmenü