SQLServer从其他表获取的数据更新该表的一部分

在网上常见的是update  a  set  username  =  username  FROM b  on a.userid=b.userid,该更新语句是对a表中所有行进行更新。如果只更新一部分用户的用户名呢?

那就应该这样写:

update  a set username=( select b.username from b where b.year=2019 ) where a.year=2018

这样就可以从b表中查询2019年的用户,对a表中2018年的用户进行更新,而不会更新a表中的所有的数据。

posted @ 2019-06-01 11:03  yiyecao  阅读(622)  评论(0编辑  收藏  举报