📜  SQL |用JOIN更新

📅  最后修改于: 2021-08-25 10:24:13             🧑  作者: 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,我们要为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