SQL UPDATE JOIN可用于使用另一个表和联接条件来更新一个表。
句法 –
UPDATE tablename
INNER JOIN tablename
ON tablename.columnname = tablename.columnname
SET tablenmae.columnnmae = tablenmae.columnname;
通过JOIN语句在SQL UPDATE中使用多个表。
让我们假设我们有两个表– Geeks1和Geeks2。要检查表中的内容–
SELECT *
FROM Geeks1;
表– Geeks1
col1 | col2 | col3 |
---|---|---|
1 | 11 | FIRST |
11 | 12 | SECOND |
21 | 13 | THIRD |
31 | 14 | FOURTH |
SELECT *
FROM Geeks2;
表– Geeks2
col1 | col2 | col3 |
---|---|---|
1 | 21 | TWO-ONE |
11 | 22 | TWO-TWO |
21 | 23 | TWO-THREE |
31 | 24 | TWO-FOUR |
例子 –
我们有表Geeks2,其中有两行,其中Col 1为21和31,我们要为Col 1为21和31的行将表Geeks2的值更新为表Geeks1。此外,我们想更新Col 2的值和第3列。
UPDATE Geeks1
SET col2 = Geeks2.col2,
col3 = Geeks2.col3
FROM Geeks1
INNER JOIN Geeks2 ON Geeks1.col1 = Geeks2.col1
WHERE Geeks1.col1 IN (21, 31);
输出 –
(2 row(s) affected)
SELECT *
FROM Geeks1;
表– Geeks1
col1 | col2 | col3 |
---|---|---|
1 | 11 | FIRST |
11 | 12 | SECOND |
21 | 23 | TWO-THREE |
31 | 24 | TWO-FOUR |
SELECT *
FROM Geeks2;
表– Geeks2
col1 | col2 | col3 |
---|---|---|
1 | 21 | TWO-ONE |
11 | 22 | TWO-TWO |
21 | 23 | TWO-THREE |
31 | 24 | TWO-FOUR |