数据库练习题

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库练习题

一、表结构

1.1.1雇员表(emp)

记录了每个雇员的基本信息

NO 字段类型描述

1 empno Number(4)雇员编号

2 ename Varchar2(10) 雇员姓名

3 job Varchar2(9) 工作职位

4 mgr Number(4) 雇员的领导(经理)编号

5 hierdate date 入职日期

6 sal Number(7,2) 月薪/工资

7 comm Number(7,2) 奖金

8 deptno Number(2) 雇员所属部门的编号

数据如下:

1.1.2部门表(dept)

记录了每个部门的基本信息

NO 字段类型描述

1 deptno Number(2) 部门编号(唯一)

2 dname Varchar2(14) 部门名称

3 loc Varchar2(13) 地址

1.1.3工资等级表(salgrade)

一个公司的工资等级制,用来表示同一等级的工资下限及上限

NO 字段类型描述

1 Grade number 等级名称

2 Losal number 此等级的最低工资

3 hisal number 此等级的最高工资

1.1.4奖金表(bonus)

一个公司中雇员获得奖金的情况

NO 字段类型描述

1 ename Varchar2(10) 雇员姓名

2 Job Varchar2(9) 雇员工作

3 Sal Number 工资

4 comm Number 奖金

二、单表查询习题

1.选择部门30中的所有职工

2.列出所有业务员(CLERK)的姓名,编号,和部门编号

3.找出奖金高于薪金的员工

4.找出奖金高于薪金的60%的员工

5.找出部门10中所有经理(MANAGER)和部门20中所有业务员(CLERK)的详细资料

6.找出部门10中所有经理(MANAGER),部门20中所有业务员(CLERK),既不是经理又不

是业务员但其薪水大于等于2000的所有员工的详细资料

7.找出收取佣金的员工的不同工作

8.找出不收取佣金或收取的佣金低于100的员工

9.找出各月倒数第3天受雇的所有员工

10.找出早于12年前受雇的员工

11.以首字母大写的方式显示所有员工的姓名

12.显示正好为5个字符的员工姓名

13.显示不带有”R”的员工姓名

14.显示所有员工姓名的前三个字符

15.显示所有员工的姓名,并用’a’替换所有’A’

16.显示满10年服务年限的员工姓名和受雇日期

17.显示员工的详细资料,按姓名由大到小排序

18.显示员工的姓名和受雇日期,根据其服务年限,将最老的员工排在最前面

19.显示所有员工的姓名,工作和薪金,按工作降序排列,若工作相同则按薪金升序排序

20.显示所有员工的姓名,加入公司的年份和月份,按受雇日期所在的月排序,若月份相

同,则将最早年份排在最前面

21.显示一个月为30天的情况所员工的日薪金,忽略余数

22.找出在(任何年份)2月受聘的所有员工

23.对每个员工,显示其加入公司的天数

24.显示姓名中任意位置包含“A”的所有员工姓名

25.以年月日方式显示所有员工的服务年限

三、多表查询

1. 求每个雇员的姓名,工资,工资等级

2. 求每个员工的姓名,部门名,部门号

3. 求公司中谁的薪水最高

4. 求薪水在部门的平均薪水之上的雇员姓名和及薪水

6. 求部门平均薪水的等级

7. 雇员中有哪些人是经理人

8. 求部门经理人中平均薪水最低的部门名称

9. 求比普通员工的最高薪水还要高的经理人名称

10. 求薪水最高的前5名雇员

11. 求薪水最高的第6到第10名雇员(重点掌握)

12. 求最后入职的5名员工

13. 求每个部门中工资最高的雇员所在部门编号,雇员姓名,工资

14. 求每个部门中薪水最高的前两名雇员

15. 不用组函数求最高工资

16. 求平均薪水最高的部门名称

17. 求每个人的名字和他的经理人的名字,用外连接把KING也取出来

相关文档
最新文档