1.根据子查询更新表字段(简单推荐)
UPDATE demo d set d.user_name = (select user_name from user u where u.user_code = d.user_code) where d.user_name IS NULL
2.使用join关联查询再插入
不想写了,累了有空再补
3.首先查询user
表,找出与demo
表中相同user_code
的user_name
,然后更新demo
表,将找到的user_name
插入到相应的记录中
UPDATE demo d
SET d.user_name = (SELECT u.user_name FROM user u WHERE u.user_code = d.user_code
)
WHERE EXISTS (SELECT 1 FROM user u WHERE u.user_code = d.user_code
)
AND d.user_name IS NULL;
- 使用
UPDATE demo d
开始更新操作。 - 使用子查询
(SELECT u.user_name FROM user u WHERE u.user_code = d.user_code)
来获取user_name
。 - 使用
WHERE EXISTS
确保只有当user
表中有与demo
表中相同的user_code
时,才尝试更新user_name
。 - 最后,
AND d.user_name IS NULL
确保只更新那些原本user_name
为NULL
的记录。