连接还可以在UPDATE语句中使用:
CREATE TABLE Users ( UserId int NOT NULL, AccountId int NOT NULL, RealName nvarchar(200) NOT NULL ) CREATE TABLE Preferences ( UserId int NOT NULL, SomeSetting bit NOT NULL )
SomeSetting通过Preferences表上的谓词更新表过滤的列,Users如下所示:
UPDATE p SETp.SomeSetting= 1 FROM Users u JOIN Preferences p ONu.UserId= p.UserId WHEREu.AccountId= 1234
p是在语句Preferences的FROM子句中定义的别名。仅具有匹配的行AccountId从Users表将被更新。
用左外部联接语句更新
Update t SET t.Column1=100 FROM Table1 t LEFT JOIN Table12 t2 ON t2.ID=t.ID
使用内部联接和聚合功能更新表
UPDATE t1 SET t1.field1 = t2.field2Sum FROM table1 t1 INNER JOIN (select field3, sum(field2) as field2Sum from table2 group by field3) as t2 on t2.field3 = t1.field3