Nutzung von SELECT-Anweisungen für SQL Server-Tabellenaktualisierungen
SQL Server bietet flexible Ansätze zum Ändern von Tabellendaten. Während INSERT INTO ... SELECT
der Standard zum Hinzufügen von Zeilen ist, können Sie vorhandene Zeilen auch aktualisieren, indem Sie UPDATE
in Verbindung mit einer SELECT
-Anweisung verwenden. Dies bietet eine leistungsstarke Möglichkeit, mehrere Datensätze basierend auf Daten aus einer anderen Tabelle zu ändern.
So führen Sie Aktualisierungen mit dieser Technik durch:
Basis-Update mit SELECT:
Der grundlegende Ansatz besteht darin, die UPDATE
-Anweisung zu verwenden, um die Zieltabelle und -spalten anzugeben, und dann eine SELECT
-Anweisung zu verwenden, um die neuen Werte bereitzustellen. Eine WHERE
-Klausel ist entscheidend, um sicherzustellen, dass nur die vorgesehenen Zeilen geändert werden:
<code class="language-sql">UPDATE Table SET col1 = a.col1, col2 = a.col2 FROM (SELECT col1, col2, id FROM other_table WHERE sql = 'cool') AS a WHERE Table.id = a.id;</code>
In diesem Beispiel werden col1
und col2
in der Table
-Tabelle mit Werten aus other_table
aktualisiert, jedoch nur für Zeilen, in denen id
übereinstimmt und die Bedingung sql = 'cool'
in other_table
erfüllt ist. Beachten Sie aus Gründen der Klarheit und Effizienz die Verwendung einer Unterabfrage mit dem Alias „a“.
Erweiterte Updates mit JOINs:
Für komplexere Szenarien, bei denen es um übereinstimmende Zeilen in mehreren Tabellen geht, bietet eine JOIN
-Klausel eine sauberere und effizientere Lösung:
<code class="language-sql">UPDATE Table_A SET Table_A.col1 = Table_B.col1, Table_A.col2 = Table_B.col2 FROM Some_Table AS Table_A INNER JOIN Other_Table AS Table_B ON Table_A.id = Table_B.id WHERE Table_A.col3 = 'cool';</code>
Diese UPDATE
-Anweisung verwendet ein INNER JOIN
, um Some_Table
und Other_Table
basierend auf übereinstimmenden id
-Werten zu verknüpfen. Anschließend werden col1
und col2
in Table_A
mit den entsprechenden Werten von Table_B
nur dort aktualisiert, wo Table_A.col3 = 'cool'
. Diese Methode wird im Allgemeinen aufgrund ihrer Lesbarkeit und Leistung bevorzugt, insbesondere bei größeren Datensätzen. Denken Sie daran, den geeigneten JOIN
Typ (INNER, LINKS, RECHTS, VOLLSTÄNDIG) basierend auf Ihren spezifischen Update-Anforderungen auszuwählen.
Das obige ist der detaillierte Inhalt vonWie kann ich SQL Server-Tabellen mithilfe von SELECT-Anweisungen aktualisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!