Oracle SQL练习题(2)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle SQL练习题(2)
注:这些查询题目涵盖了各种单行函数的基本查询的技术,请大家认真做,做好了的查询语句之后,有兴趣的同学可以再创建相应的视图和存储过程。下面的查询练习题是基于Oracle 10g数据库中的scott用户下的表来进行练习的。
首先给出scott用户中各个表的表结构
第一:emp(员工信息表),如图1所示
emp表中各个字段的介绍如下:
(1)empno:员工编号
(2)ename:员工姓名
(3)job:职位
(4)mgr:上级领导编号
(5)hiredate:雇佣日期
(6)sal:薪水
(7)comm:佣金
(8)deptno:部门编号
第二:dept(部门信息表),如图2所示
dept表中各个字段的介绍如下:
(1)deptno:部门编号
(2)dname:部门名称
(3)loc:部门所在地
练习:
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.以年月日的方式显示所有员工的服务年限?
26.列出各种工作职位的最低工资,且显示最低工资大于1500的记录
27.列出所有雇员的雇员名称、部门名称和工资
28.列出从事同一种工作但属于不同部门的雇员的员工信息
29.列出按年薪排序的所有雇员的年薪
30.列出至少有一个员工的所有部门
31.列出薪金比"SMITH"多的所有员工
32.列出薪金高于公司平均水平的所有员工
33.列出与“SCOTT”从事相同工作的所有员工
34.列出某些员工的姓名和薪金,条件是他们的薪金等于部门30中任何一个员工的薪金
35.列出所有员工的姓名及其直接上级的姓名
36.列出各个部门的MANAGER(经理)的最低薪金