gpt4 book ai didi

mysql - SQL 使用子查询更新列值

转载 作者:可可西里 更新时间:2023-11-01 06:59:08 25 4
gpt4 key购买 nike

在 MySQL 数据库表中,我想使用查询结果UPDATE一些行。

比如我有一张 table

TABLE employees(
employeeId int,
salary int,
)

并且我只想UPDATE出现在下面查询中的行,employeeId匹配并且newSalary成为修改后的值薪水

(SELECT employeeId, newSalary FROM ....)

我最初想将结果加载到临时表中,但我不确定如何获取 SET 值,如此处所示

UPDATE employees
SET salary = (???)
WHERE employeeId exists in tempTable

您可能会评论说这会导致非规范化,我知道这一点。我怀疑会有一些“你不想这样做”类型的回复,为了简洁起见,请假设我有一个很好的理由。

最佳答案

加入子查询和您要更新的表:

UPDATE employees x INNER JOIN (
SELECT employeeId, newSalary FROM ....
) y ON x.employeeId=y.employeeId
SET x.salary=y.newSalary

关于mysql - SQL 使用子查询更新列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7064871/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com