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 1 | Spalte 2 | Spalte 3 | |
---|---|---|---|
1 | 1 | elf | Erste |
2 | elf | 12 | Zweite |
3 | einundzwanzig | 13 | Dritte |
4 | 31 | 14 | Vierte |
Spalte 1 | Spalte 2 | Spalte 3 | |
---|---|---|---|
1 | 1 | einundzwanzig | Zwei eins |
2 | elf | 22 | Zwei zwei |
3 | einundzwanzig | 23 | Zwei drei |
4 | 31 | 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 1 | Spalte 2 | Spalte 3 | |
---|---|---|---|
1 | 1 | elf | Erste |
2 | elf | 12 | Zweite |
3 | einundzwanzig | 23 | Zwei drei |
4 | 31 | 24 | Zwei vier |
Spalte 1 | Spalte 2 | Spalte 3 | |
---|---|---|---|
1 | 1 | einundzwanzig | Erste |
2 | elf | 22 | Zweite |
3 | einundzwanzig | 23 | Zwei drei |
4 | 31 | 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.