logo

SQL-UPDATE mit JOIN

SQL-UPDATE-JOIN bedeutet, dass wir eine Tabelle mithilfe einer anderen Tabelle und einer anderen Join-Bedingung aktualisieren.

Nehmen wir ein Beispiel einer Kundentabelle. Ich habe die Kundentabelle aktualisiert, die die neuesten Kundendetails aus einem anderen Quellsystem enthält. Ich möchte die Kundentabelle mit den neuesten Daten aktualisieren. In einem solchen Fall führe ich einen Join zwischen der Zieltabelle und der Quelltabelle durch, indem ich den Join für die Kunden-ID verwende.

Mal sehen Syntax der SQL UPDATE-Abfrage mit JOIN-Anweisung.

 UPDATE customer_table INNER JOIN Customer_table ON customer_table.rel_cust_name = customer_table.cust_id SET customer_table.rel_cust_name = customer_table.cust_name 

So verwenden Sie mehrere Tabellen in der SQL UPDATE-Anweisung mit JOIN

Nehmen wir zwei Tabellen, Tabelle 1 und Tabelle 2.

Erstellen Sie Tabelle1

 CREATE TABLE table1 (column1 INT, column2 INT, column3 VARCHAR (100)) INSERT INTO table1 (col1, col2, col3) SELECT 1, 11, 'FIRST' UNION ALL SELECT 11,12, 'SECOND' UNION ALL SELECT 21, 13, 'THIRD' UNION ALL SELECT 31, 14, 'FOURTH' 

Erstellen Sie Tabelle2

 CREATE TABLE table2 (column1 INT, column2 INT, column3 VARCHAR (100)) INSERT INTO table2 (col1, col2, col3) SELECT 1, 21, 'TWO-ONE' UNION ALL SELECT 11, 22, 'TWO-TWO' UNION ALL SELECT 21, 23, 'TWO-THREE' UNION ALL SELECT 31, 24, 'TWO-FOUR' 

Überprüfen Sie nun den Inhalt der Tabelle.

 SELECT * FROM table_1 
 SELECT * FROM table_2 
Spalte 1Spalte 2Spalte 3
11elfErste
2elf12Zweite
3einundzwanzig 13 Dritte
431 14 Vierte

Spalte 1Spalte 2Spalte 3
11einundzwanzigZwei eins
2elf22Zwei zwei
3einundzwanzig 23 Zwei drei
431 24 Zwei vier

Unsere Anforderung ist, dass wir Tabelle 2 haben, die zwei Zeilen enthält, in denen Spalte 1 21 und 31 ist. Wir möchten den Wert von Tabelle 2 auf Tabelle 1 für die Zeilen aktualisieren, in denen Spalte 1 21 und 31 ist.

Wir möchten auch nur die Werte von Spalte 2 und Spalte 3 aktualisieren.

Der einfachste und gebräuchlichste Weg ist die Verwendung einer Join-Klausel in der Update-Anweisung und die Verwendung mehrerer Tabellen in der Update-Anweisung.

 UPDATE table 1 SET Col 2 = t2.Col2, Col 3 = t2.Col3 FROM table1 t1 INNER JOIN table 2 t2 ON t1.Col1 = t2.col1 WHERE t1.Col1 IN (21,31) 

Überprüfen Sie den Inhalt der Tabelle

AUS Tabelle 1 AUSWÄHLEN

AUS Tabelle 2 AUSWÄHLEN

Spalte 1Spalte 2Spalte 3
11elfErste
2elf12Zweite
3einundzwanzig 23 Zwei drei
431 24 Zwei vier

Spalte 1Spalte 2Spalte 3
11einundzwanzigErste
2elf22Zweite
3einundzwanzig 23 Zwei drei
431 24 Zwei vier

Hier können wir sehen, dass die Join-Klausel in der Update-Anweisung verwendet wird. Wir haben zwei Tabellen mithilfe der Join-Klausel zusammengeführt.