PostgreSQL UPDATE Join
October 13, 2020
这个查询演示了如何使用 PostgreSQL 的 UPDATE join 语法,根据另一张数据表的值来更新某张数据表的数据。例如;
通过 mission_rewards 数据表,以 rewards.gift_box_type 更新 subscription_missions.giftbox_type(在 30 万条数据上测试过,快到不可思议)
UPDATE
subscription_missions sm
SET
giftbox_type = r.gift_box_type
FROM
mission_rewards mr,
rewards r
WHERE
sm.giftbox_type IS NULL
AND sm.id = mr.subscription_mission_id
AND mr.reward_id = r.id;