题解 | #查找描述信息中包含robot的电影对应的分类名称以及电影数目,而且还需要该分类对应电影数量>=5部#

获取每个部门中当前员工薪水最高的相关信息

http://www.nowcoder.com/practice/4a052e3e1df5435880d4353eb18a91c6

select t.dept_no,n.emp_no,t.maxSalary
from (select s.*,d.dept_no
      from salaries s 
      join dept_emp d 
      on s.emp_no = d.emp_no) n
join (select distinct d.dept_no,max(s.salary) maxSalary
    from dept_emp d 
    join salaries s
    on d.emp_no = s.emp_no
    group by d.dept_no) t
on t.maxSalary = n.salary and n.dept_no = t.dept_no
order by t.dept_no;





全部评论
select t.dept_no,s.emp_no,t.maxSalary from salaries s join (select d.dept_no,max(s.salary) maxSalary from dept_emp d join salaries s on d.emp_no = s.emp_no group by d.dept_no) t on s.salary = t.maxSalary order by t.dept_no; 最开始的代码是这样的,测试通过,但提交显示部分通过,主要是最高薪资等于了员工薪资,但是部门没有限制,导致错误(相当于6666这个是1号部门的最高薪资,但2号部门也有个6666,但2号部门的最高薪资是9999,但由于连接条件只连接了薪资,导致两个6666都被查出来了),解决办法就是在薪资表中加入部门编号,最后在连接;感觉是做复杂了,连接了很多,还有子查询,不知道有没有更好地方法赐教
点赞 回复 分享
发布于 2021-10-05 11:13

相关推荐

2025-12-22 15:25
南京工业大学 运营
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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