SQL: Daten zwischen Tabellen kopieren
Eine häufige SQL-Aufgabe besteht darin, Daten von einer Tabelle in eine andere zu übertragen. Während sich die spezifische Syntax je nach Datenbanksystem geringfügig unterscheiden kann, verwendet ein weitgehend kompatibler Ansatz die Anweisung INSERT INTO ... SELECT
.
Standard-SQL-Syntax für das Einfügen von Daten
Die folgende Syntax bietet ein hohes Maß an Kompatibilität zwischen verschiedenen Datenbankverwaltungssystemen (DBMS):
<code class="language-sql">INSERT INTO target_table (column1, column2, ...) SELECT source_column1, source_column2, ... FROM source_table [WHERE condition];</code>
Hier ist eine Aufschlüsselung:
target_table
: Die Tabelle, die die neuen Daten empfängt.column1, column2, ...
: Die Spalten in target_table
, in die Daten eingefügt werden. Die Bestellung muss mit der SELECT
-Anweisungsource_column1, source_column2, ...
: Die Spalten in source_table
, die die Daten bereitstellen. Die Datentypen sollten mit den entsprechenden target_table
Spaltensource_table
: Die Tabelle mit den Daten.WHERE condition
(optional): Filtert die Daten von source_table
vor dem Einfügen. Es werden nur Zeilen kopiert, die die Bedingung erfüllen.DBMS-Kompatibilität
Diese INSERT INTO ... SELECT
Methode funktioniert im Allgemeinen in einer Vielzahl von DBMS, einschließlich:
Anschauliches Beispiel
Nehmen wir an, wir haben eine „employees“-Tabelle und eine „department_summary“-Tabelle. So füllen Sie department_summary
mit den Abteilungsnamen der Mitarbeiter:
<code class="language-sql">INSERT INTO department_summary (department_name) SELECT department FROM employees;</code>
Dadurch werden alle eindeutigen Abteilungsnamen aus der Tabelle employees
in die Spalte department_name
der Tabelle department_summary
eingefügt. Beachten Sie, dass doppelte Abteilungsnamen nur einmal eingefügt werden. Wenn Sie Duplikate anders behandeln müssen, müssen Sie zusätzliche Logik hinzufügen (z. B. mithilfe von GROUP BY
und Aggregatfunktionen).
Das obige ist der detaillierte Inhalt vonWie füge ich Daten mithilfe der Standard-SQL-Syntax von einer Tabelle in eine andere ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!