1. 使用Join方法
使用 SQL JOIN来引用包含更新的值的辅助表。 因此,根据指定条件更新目标表。
首先使用 SELECT 语句来获取引用列和目标列的值。
SELECT e.City,A.City, e.PostCode,A.PostCode
FROM Employee e
INNER JOIN [Address] a
ON e.EmpID = A.EmpID
接下来,对语句进行更改,如下所示。
1. 将 select 关键字替换为 update。
2. 指定需要更新的表名或别名。
3. 在引用列和目标列之间使用 set 关键字和等号 (=)。
UPDATE e set
e.City=A.City,
e.PostCode=A.PostCode
FROM Employee e
INNER JOIN [Address] a
ON e.EmpID = A.EmpID
执行 UPDATE 语句并验证结果。
2. 使用MERGE语句
MERGE 语句对于根据匹配行和不匹配行的操作来更新目标表的数据。 它是使用 SELECT 语句更新数据的另一种方法。
在下面的示例 MERGE 语句中,执行以下任务:
使用 MERGE 语句更新 [Employee] 表数据。
应用 USING 子句时引用另一个表。
WHEN MATCHED 指定引用表和目标表之间的合并 JOIN(内连接)。
使用 THEN UPDATE 语句后根据源表和目标表列映射更新数据。
使用分号(;) 结束MERGE。
MERGE Employee AS e
USING (SELECT * FROM [Address]) AS A
ON A.EmpID=e.EmpID
WHEN MATCHED THEN UPDATE SET
e.PostCode=A.PostCode ,
e.City = A.City;
3. 使用子查询语句