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,我们想将表 Geeks2 的值更新到表 Geeks1,其中 Col 1 是 21 和 31。此外,我们想更新 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 |