📜  SQL |使用 JOIN 更新

📅  最后修改于: 2021-09-08 15:31:28             🧑  作者: Mango

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