前言:此文主要为了记录学习,分享,希望爱学习之人能有所收获。
1.查询工资在0-1000,1000-2000,2000-3000,3000以上各个工资范围的员工数。
2.要求查询出: 部门名称,部门的员工数,部门的平均工资,部门的最低收入雇员的姓名
3.原题有错误,思考题,删除emp表中重复的记录
个人思路:用原表minus去重的表则得到重复的记录,然后删除即可。但是emp表中有唯一主键,所以不存在重复的数据。
4.求出每个部门的最低工资的雇员的信息(两种方法)
5.查询各个职位员工工资大于平均工资(平均工资包括所有员工)的人数和员工职位(两种方法)
6.写出一个部门至少有四个员工的记录
7.列出所有员工的姓名及其直接上级的姓名
8.返回比本部门平均工资高的员工的empno,ename,deptno,sal,以及平均工资
9.查询与7369或者7499号具有相同job和deptno的其他员工的empno,ename,job和deptno
10.列出从事同一种工作但属于不同部门的雇员的不同组合
11.查询员工工资2到5名的员工信息
12.列出薪金比SMITH多的所有员工信息
13.把hiredate列看做是员工的生日,求本月过生日的员工(两种方法)
14.查询出1981年各个月入职的员工数
15.将系统时间转化成年月日的形式
1、select sum(case when sal>0 and sal<=1000 then 1 else 0 end) “0<sal<=1000”,
sum(case when sal>1000 and sal<=2000 then 1 else 0 end) as “1000<sal<=2000”,
sum(case when sal>2000 and sal<=3000 then 1 else 0 end) as “2000<sal<=3000”,
sum(case when sal>3000 then 1 else 0 end) as “sal>3000” FROM EMP;