题解 | #将所有获取奖金的员工当前的薪水增加10%#

将所有获取奖金的员工当前的薪水增加10%

http://www.nowcoder.com/practice/d3b058dcc94147e09352eb76f93b3274

思路:

  1. 连接两个表,然后条件判断当前员工。
  2. 最后使用 UPDATE ... SET ... WHERE ... IN ... 来实现更改数据

但是这里需要注意的是 条件判断需要放到外层的 WHERE 语句中,否则查询出来的 emp_no 虽然可能只有一个,但在本题中一个emp_no对应多行(应该是数据设计错误了),导致 to_date 有可能不等于 '9999-01-01'

完整代码:

UPDATE salaries
SET salary = salary * 1.1
WHERE emp_no IN (select * from (SELECT s.emp_no
								FROM emp_bonus eb, salaries s
								WHERE eb.emp_no = s.emp_no) temp)
AND to_date = '9999-01-01'
SQL练习 文章被收录于专栏

已完成牛客的SQL练习。接下来是算法的练习

全部评论

相关推荐

03-06 20:09
贵州大学 Java
King987:你这个学历找个中大厂刷实习经历都是可以的,但是项目要有亮点才行,这个什么外卖就不要做了,去找找最新的项目,至少涉及高并发或者是新型的AI技术mcp rag啥的 ,我在出简历点评,但是你这个没什么好点评的,内容太少,而且含金量太低。自己改一改吧,或者看一下我的项目地址中,那里有大厂最近做过的实习项目
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务