欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

oracle case when查询(代码)各个部门不同工资阶段的人数讲解

程序员文章站 2022-03-08 23:05:58
oracle case when查询(代码)各个部门不同工资阶段的人数讲解 select d.deptname,e.level1,e.level2,e.level3 from (select...

oracle case when查询(代码)各个部门不同工资阶段的人数讲解

select d.deptname,e.level1,e.level2,e.level3 from
(select deptid,count(case when wage < 5000 then 1 else null end ) level1,count(case when wage >=5000 and wage <15000 then 1 else null end ) level2,
count(case when wage > 15000 then 1 else null end ) level3 from t_employee  group by deptid) e 
left join 
t_dept d 
on
e.deptid = d.deptid

最近一好友问我假设有两个表。一个是employee表,记录这员工的基本信息包括工资、部门id等,另一张表是dept表,记录这部门的相关信息。如何通过这两张表,来查询出各个部门不同工资阶段的人数呢?

经过查询相关资料,终于写出这个sql语句,经调试,能达到要求。本人小白,大佬不知道哪位大佬有效率更高更简便的写法呀。欢迎指点。