MySQL分组排序

烂漫一生 提交于 2019-12-02 15:07:23

需求一:
哪些部门的薪水最高两位的工种有哪些?

1、分析:每个部门、每个工种的薪水和:

1、可以建立一个视图:
create view sal
as
select
deptno,job,sum(sal+ifnull(comm,0)) as sal
from emp group by deptno,job;

2、select * from sal;	视图中查询数据

  • 视图不存储数据,生产上会把一些复杂的sql,多表的join结果作为视图来查询。

2、从1的结果集中找出薪水最高的工种有哪些?

  • 就是两张表都是sal,

再插入一条数据后,再次进行SQL查询:

  • insert into emp values (1000,‘BOSS’,‘BOSS’,NULL,‘1981-06-09’,9000,NULL,10);
select
a.*
from sal a
where (
select count(*) from sal where a.deptno=b.deptno and a.sal < b.sal
) = 0;
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!