HIVE-SQL员工练习

13.列出在每个部门工作的员工数量、平均工资和平均服务期限。

select  DEPTNO,count(ENAME) as name ,avg(sal) as avg_sal,
avg(datediff(current_timestamp,HIREDATE)) as avg_day from emp group by DEPTNO; 

14.列出所有员工的姓名、部门名称和工资。

select e.ENAME,d.DEPTNAME,e.sal from emp e left join dept d on e.DEPTNO=d.DEPTNO;

15.列出所有部门的详细信息和部门人数。

select * from dept d 
left join (select DEPTNO,count(ENAME) as cn from emp group by DEPTNO ) as e on e.DEPTNO=d.DEPTNO;

16.列出各种工作的最低工资。

select job,min(sal)  from emp group by job;

17.列出各个部门的MANAGER(经理)的最低薪金。

select DEPTNO,min(SAL)  FROM emp where job ='MANAGER' group by DEPTNO;

18.列出所有员工的年工资,按年薪从低到高排序。

select * from (select ENAME,sal*12+NVL(BONUS,0) as year_sal from emp) e order by e.year_sal asc;

19.列出每个部门薪水前两名最高的人员名称以及薪水。

select ename,sal,deptno from 
(select ename,sal,deptno,row_number() over(partition by deptno order by sal desc) as num from emp ) as m where m.num <=2;

20.列出每个员工从受雇开始到2018-12-12 为止共受雇了多少天。

select ENAME,datediff("2018-12-12",HIREDATE) as t from emp order by t;

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值