oracle 基础练习题2(scott用户下的emp,dept表)

本文提供了多个Oracle SQL查询题目,涵盖了工资范围统计、部门详细信息、删除重复记录、最低工资员工、职位工资比较、多条件查询等方面,旨在帮助学习者巩固SQL基础和提升查询技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:此文主要为了记录学习,分享,希望爱学习之人能有所收获。

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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值