logo

SQL-UPDATE met JOIN

SQL-UPDATE JOIN betekent dat we de ene tabel bijwerken met een andere tabel en deelnamevoorwaarde.

Laten we een voorbeeld nemen van een klantentabel. Ik heb de klantentabel bijgewerkt met de nieuwste klantgegevens uit een ander bronsysteem. Ik wil de klantentabel bijwerken met de nieuwste gegevens. In dat geval voer ik een join uit tussen de doeltabel en de brontabel met behulp van join op klant-ID.

Laten we eens kijken syntaxis van SQL UPDATE-query met JOIN-instructie.

 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 

Hoe u meerdere tabellen kunt gebruiken in de SQL UPDATE-instructie met JOIN

Laten we twee tabellen nemen, tabel 1 en tabel 2.

Maak tabel1

 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' 

Maak tabel2

 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' 

Controleer nu de inhoud in de tabel.

 SELECT * FROM table_1 
 SELECT * FROM table_2 
Kol 1Kol 2Kol 3
11elfEerst
2elf12Seconde
3eenentwintig 13 Derde
431 14 Vierde

Kol 1Kol 2Kol 3
11eenentwintigTwee een
2elf22Twee twee
3eenentwintig 23 Twee drie
431 24 Twee vier

Onze vereiste is dat we tabel 2 hebben die twee rijen heeft waarin Kol 1 21 en 31 is. We willen de waarde van tabel 2 bijwerken naar tabel 1 voor de rijen waarin Kol 1 21 en 31 is.

We willen ook alleen de waarden van Kol 2 en Kol 3 bijwerken.

De eenvoudigste en meest gebruikelijke manier is om de join-clausule in de update-instructie te gebruiken en meerdere tabellen in de update-instructie te gebruiken.

 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) 

Controleer de inhoud van de tabel

SELECTEER UIT tabel 1

SELECTEER UIT tabel 2

Kol 1Kol 2Kol 3
11elfEerst
2elf12Seconde
3eenentwintig 23 Twee drie
431 24 Twee vier

Kol 1Kol 2Kol 3
11eenentwintigEerst
2elf22Seconde
3eenentwintig 23 Twee drie
431 24 Twee vier

Hier kunnen we zien dat het gebruik van de join-clausule in de update-instructie wordt gebruikt. We hebben twee tabellen samengevoegd met behulp van de join-clausule.