СКЛ УПДАТЕ ЈОИН значи да ћемо ажурирати једну табелу користећи другу табелу и спојити услов.
Узмимо пример табеле купаца. Ажурирао сам табелу купаца која садржи најновије податке о клијентима из другог изворног система. Желим да ажурирам табелу купаца најновијим подацима. У том случају, извршићу спајање између циљне табеле и изворне табеле користећи спајање на ИД-у корисника.
Хајде да видимо синтаксе СКЛ УПДАТЕ упита са ЈОИН наредбом.
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
Како користити више табела у СКЛ УПДАТЕ изјави са ЈОИН
Узмимо две табеле, табелу 1 и табелу 2.
Креирајте табелу 1
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'
Креирајте табелу 2
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'
Сада проверите садржај табеле.
SELECT * FROM table_1
SELECT * FROM table_2
Кол 1 | Кол 2 | Кол 3 | |
---|---|---|---|
1 | 1 | Једанаест | Први |
2 | Једанаест | 12 | Друго |
3 | двадесет један | 13 | Треће |
4 | 31 | 14 | Четврто |
Кол 1 | Кол 2 | Кол 3 | |
---|---|---|---|
1 | 1 | двадесет један | Два-Један |
2 | Једанаест | 22 | Два-два |
3 | двадесет један | 23 | Два, три |
4 | 31 | 24 | Два-Четири |
Наш захтев је да имамо табелу 2 која има два реда где је колона 1 21 и 31. Желимо да ажурирамо вредност из табеле 2 у табелу 1 за редове у којима је колона 1 21 и 31.
Такође желимо да ажурирамо вредности само за Цол 2 и Цол 3.
Најлакши и најчешћи начин је да користите клаузулу за спајање у изјави за ажурирање и користите више табела у изјави за ажурирање.
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)
Проверите садржај табеле
ИЗАБЕРИ ИЗ табеле 1
ИЗАБЕРИ ИЗ табеле 2
Кол 1 | Кол 2 | Кол 3 | |
---|---|---|---|
1 | 1 | Једанаест | Први |
2 | Једанаест | 12 | Друго |
3 | двадесет један | 23 | Два, три |
4 | 31 | 24 | Два-Четири |
Кол 1 | Кол 2 | Кол 3 | |
---|---|---|---|
1 | 1 | двадесет један | Први |
2 | Једанаест | 22 | Друго |
3 | двадесет један | 23 | Два, три |
4 | 31 | 24 | Два-Четири |
Овде можемо видети да користите клаузулу за спајање у изјави за ажурирање. Спојили смо две табеле употребом клаузуле спајања.