看了一些评论,看的比较懵逼,所以按照其他大佬的大概思路整理了自己的答案。对于复杂的问题,可以用拆解方法,再将多表连接。思路就是首先按部门进行分组,选出每一部门的最高工资;然后将员工表与工资表连接起来形成第二个临时表;这样最高工资及其对应的部门,以及相应工资相应部门对应的员工号都可以通过两个临时表的连接获得。
答案会显示出同一部门最高工资的全部员工信息。
本答案没有考虑to_date,因为表中该项值全部一样,所以没做考虑。
此外还要注意别马虎,看好是对谁进行排序,并且每一列的先后顺序,才能与答案输出一致。
代码只写大框,其他的不难填充。select t.dept_no,t.emp_no,maxsalary from (t1 inner join t2 on t1.dept_no=t2.dept_no and t1.maxsalary=t2.salary) t order by t.temp_no asc