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 1 | Kol 2 | Kol 3 | |
---|---|---|---|
1 | 1 | elf | Eerst |
2 | elf | 12 | Seconde |
3 | eenentwintig | 13 | Derde |
4 | 31 | 14 | Vierde |
Kol 1 | Kol 2 | Kol 3 | |
---|---|---|---|
1 | 1 | eenentwintig | Twee een |
2 | elf | 22 | Twee twee |
3 | eenentwintig | 23 | Twee drie |
4 | 31 | 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 1 | Kol 2 | Kol 3 | |
---|---|---|---|
1 | 1 | elf | Eerst |
2 | elf | 12 | Seconde |
3 | eenentwintig | 23 | Twee drie |
4 | 31 | 24 | Twee vier |
Kol 1 | Kol 2 | Kol 3 | |
---|---|---|---|
1 | 1 | eenentwintig | Eerst |
2 | elf | 22 | Seconde |
3 | eenentwintig | 23 | Twee drie |
4 | 31 | 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.