Sql Server使用查询语句更新数据

时间:2022-06-01 17:00:55

Sql Server支持在一个sql语句里使用查询的数据更新表。

简单更新

简单的使用一个表的数据更新另一个表。

UPDATE 
  table_a 
SET 
  table_a.col1=table_b.col1
FROM 
  table_b 
WHERE table_a.id=table_b.id;

使用join

UPDATE
  table_a
SET
  table_a.col1 = table_b.col1,
  table_a.col2 = table_b.col2
FROM
  table_a
  INNER JOIN table_b
    ON table_a.id = table_b.id
WHERE
    table_a.id = 100

使用别名

UPDATE
  A
SET
  A.col1 = B.col1,
  A.col2 = B.col2
FROM
  table_a as A
  INNER JOIN table_b as B
    ON A.id = B.id
WHERE
    A.id = 100