关联表形式:

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.子查询形式字段要一一对应,顺序不能乱。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐