300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Oracle练习:用表连接实现查询平均工资最高的部门信息

Oracle练习:用表连接实现查询平均工资最高的部门信息

时间:2024-04-21 14:07:20

相关推荐

Oracle练习:用表连接实现查询平均工资最高的部门信息

Oracle练习 利用表连接查询平均工资最高的部门信息

当查询结果数据来自于多两张表时,需要使用特定的连接条件将两张表的记录连接在一起,这种语法“表链接”。

在做查询平均工资最高的部门信息这道题的时候,因为工资字段在employees表中,而题目要求查询结果的部门信息在departments表中,所以应该想到利用表连接来解决。

代码如下:

---1.获取各部门的平均工资,并且可以用排序找出平均工资最高的部门select department_id,avg(salary) avgsalaryfrom employeesgroup by department_idorder by avgsalary desc;---2.添加编号列rownum,并提取最高工资的一行select department_id,avgsalary,rownum rn from (select department_id,avg(salary) avgsalary from employees group by department_id order by avg(salary) desc)---3.连接两个表后,查询最高工资的部门信息和平均工资select d.*,avgsalaryfrom departments d join (select department_id,avgsalary,rownum rn from (select department_id,avg(salary) avgsalary from employees group by department_id order by avg(salary) desc)where rownum=1)t1on d.department_id = t1.department_id

其中第三部为最终的代码,查询的结果是:

此题的重点在于使用表连接的做法时,虚拟表是可以和普通表做表连接的,甚至两张虚拟表也可以表连接查询结果

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。