关联表形式:
UPDATE 待更新表 t1
SET 待更新表字段 = t2.字段,
待更新表字段 = t2.字段
FROM
关联表 t2
WHERE
t1.关联字段 = t2.关联字段
例:街镇表根据编号关联地区表,更新街镇名称
UPDATE town t1
SET town_name = t2."name"
FROM
region t2
WHERE
t1.town_code = t2.code
子查询形式:
UPDATE 待更新表 t1
SET (待更新表字段, 待更新表字段) =
(SELECT t2.字段, t2.字段 FROM 关联表 t2 WHERE t1.关联字段 = t2.关联字段)
注意点:
1.SET后的待更新字段不要加表别名(如t1),会识别成列名,报(column "表别名" of relation "待更新表名" does not exist)错误。
2.子查询形式字段要一一对应,顺序不能乱。