UPDATE SET FROM WHERE

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      太原

上述例子在SQL SERVER 2008环境中。

原文地址:https://www.cnblogs.com/zerocc/p/2231841.html