update from用法

from:https://www.cnblogs.com/zerocc/archive/2011/11/01/2231841.html

update 表名 SET  更新字段 FROM 更新表名(多个)WHERE 更新条件

作用:如果想要用一个表的字段也更新另一张表时,可以用。

例子:

表L

lid   lname

101    北京
102    太原
101    NULL
102    NULL

表M:

matid  lty  lid   
10011    1    101   
20012    1    102   
10011    1    102    
10011    1    102   

现在来为M表增加一列

ALTER TABLE M ADD MNAME VARCHAR(20)

现在M表的结构为:

matid  lty  lid   mname
10011    1    101      NULL
20012    1    102      NULL
10011    1    102      NULL
10011    1    102      NULL

如果我们想要用L中的LNAME来更新M中的MNAME,那么便可以使用:

UPDATE m SET m.mname=l.name  FROM m ,l WHERE l.lid=m.lid;

那么结果就会如下:

matid  lty  lid   mname
10011    1    101      北京
20012    1    102      太原
10011    1    102      太原
10011    1    102      太原

UPDATE dbo.Table2

SET dbo.Table2.ColB = dbo.Table2.ColB + dbo.Table1.ColB
FROM dbo.Table2
    INNER JOIN dbo.Table1
    ON (dbo.Table2.ColA = dbo.Table1.ColA);
GO
SELECT ColA, ColB
FROM dbo.Table2;
原文地址:https://www.cnblogs.com/hyshareex/p/9223052.html