UPDATE table1
SET value = t2.new_value
FROM table2 t2
WHERE table1.id = t2.reference_id;
解释
-
UPDATE table1
:指定要更新的表,不要用别名。 -
SET value = t2.new_value
:设置要更新的字段及其新值,这里新值来自table2
。也可更新多个字段值 -
FROM table2 t2
:指定另一个参与的表,并给它一个别名(这里是t2
),以便在WHERE子句中引用。 -
WHERE table1.id = t2.reference_id
:指定更新条件,即哪些行应该被更新。这里我们通过匹配两个表的ID字段来决定哪些行应该被更新。
注意:
要更新的表不要用别名