ORACLE SQL编程强化练习题.pdf_第1页
ORACLE SQL编程强化练习题.pdf_第2页
ORACLE SQL编程强化练习题.pdf_第3页
ORACLE SQL编程强化练习题.pdf_第4页
ORACLE SQL编程强化练习题.pdf_第5页
已阅读5页,还剩24页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 Oracle SQL编程强化练习题编程强化练习题 2 课程结构课程结构 内容内容 课时 课时 H H 第一章 Oracle数据库基础 1 第二章 编写简单的查询语句 1 第三章 限制数据和对数据排序 1 第四章 单行函数 2 第五章 多表查询 2 第六章 分组函数 2 第七章 子查询 2 第八章 数据操作与事务控制 2 第九章 表和约束 1 第十章 其他数据库对象 1 3 第一章第一章 Oracle数据库基础数据库基础 1 请新建一个数据库为 OraTest 2 请修改本地连接 可以使用本地连接 连接数据库 OraTest 提示 set ORACLE SID OraTest 3 如果作为网络上可以使用的数据库服务器 请配置好监 听器 4 如果数据库服务器的IP为 10 1 242 5 默认端口号为 1521 数据库服务名为 OraTest 网络服务名为什么 请上机建立该网络服务及网络命名 5 什么是SID 什么是网络服务命名和网络服务名 6 试简述本地了解和网络连接的区别 4 第二章第二章 编写简单的查询语句编写简单的查询语句 1 显示部门表的全部信息 2 显示部门号码 部门名称 3 显示以下字段及字符串的连接 员工名 1个月的工 资为 工资 如 Amy 1个月的工资为 8000 4 显示员工姓名 参加工作时间 工作 5 显示员工姓名 别名为Name 年薪 13个月的月薪 别名为annual salary 注 别名大小写 6 把员工姓名 工作名称 job 作为一个字符串显示 7 显示以下字段及字符串的连接 员工名 s job is 工作名称 如 Amy s job is MANAGER 注 单引号需 显示出 8 显示员工表中部门号 工作名称 要求去掉重复值 5 第三章第三章 限制数据和对数据排序限制数据和对数据排序 1 选择部门30中的雇员 2 列出所有办事员的姓名 编号和部门 jobid为 clerk 3 找出佣金高于薪金的雇员 4 找出佣金高于薪金60 的雇员 5 找出部门10中所有经理和部门20中的所有办事员的详 细资料 6 找出部门10中所有经理 部门20中所有办事员 既不 是经理又不是办事员但其薪金 2000的所有雇员的详细资 料 7 找出收取佣金的雇员的不同工作 6 第三章第三章 限制数据和对数据排序限制数据和对数据排序 8 找出不收取佣金或收取的佣金低于100的雇员 9 找出各月最后一天受雇的所有雇员 10 显示10号部门号码 部门名称 11 显示82年之前参加工作的员工姓名 参加工作时间 工作名称 12 显示姓名为 SMITH 的员工的员工姓名 参加工作时间 工作名称 13 显示工资在2000到4000之间的员工姓名 工资 14 显示出总经理的姓名 7 第三章第三章 限制数据和对数据排序限制数据和对数据排序 15 显示出姓名中倒数第二个字母为 R 的员工姓名 16 显示姓名为 SMITH 或为 KING 的员工的员工姓名 参 加工作时间 工作 17 显示工作名称中包含 MAN 并且工资大于2000的员工 姓名 工作 18 名字中包含两个 L 部门号是30号 或经理号为 7782的员工 8 第四章第四章 单行函数单行函数 1 显示depname和loc中间用 分隔 2 将部门名称转化为大写 3 将部门名称填充为10位 4 将员工名字的 S 替换为 s 5 求员工名字的前三位 6 查找员工名字中 S 第一次出现的位置 7查找员工名字中第二次出现 T 的位置 8查找员工名字的长度 9 第四章第四章 单行函数单行函数 9 显示一年前的今天日期和一年以后今天的日期 10显示本月第三天的日期 11 显示今天到 2012 12 12 相隔的月数 12 显示员工工资的货币表示形式 13 显示1949年10月1日的字符串格式 14 按照如下要求显示数据 sal 800 显示低工资 sal 3000 正常工资 sal 5000 高工资 15 显示以下字段及字符串的连接 The job id for 姓名 大写 is 工作 小写 如 The job id for ALLEN is salesman 10 第五章第五章 多表查询多表查询 1 列出所有雇员的姓名及其直接上级的姓名 2 列出部门名称和这些部门的雇员 同时列出那些没有雇员 的部门 3 显示所有部门在 NEW YORK dept表 loc字段 的员工姓 名 4 显示员工信息包括部门名称 员工的姓名 要求所有部 门都显示出来 包含没有员工的部门 5 显示员工 SMITH 的姓名 部门名称 6 显示员工姓名 部门名称 工资 工资级别 salgrade表 grade字段 要求工资级别大于4级 7 显示员工 KING 和 FORD 管理的员工姓名及其经理姓 名 第四章 单行函数 11 第五章第五章 多表查询多表查询 8 显示员工名 参加工作时间 经理名 参加工作时间 参加工作时间比他的经理早 12 第六章第六章 分组函数分组函数 1 显示平均工资为 2000的工作 2 计算工资在2000以上的各种工作的平均工资大 于3000的工作 3 找每个部门的最高和最低的工资 4 找每个部门中每种工作的最高和最低的工资 5 显示出工作名称 job 中包含 MAN 的员工平均工 资 最高工资 最低工资及工资的和 6 显示出20号部门的员工人数 7 显示出平均工资大于2000的部门名称及平均工 资 13 第六章第六章 分组函数分组函数 8 显示每个部门每种工作平均工资大于2500的部 门及工作 9 显示出工作名称中包含 MAN 并且平均工资大 于1000的工作名称及平均工资 10 显示出平均工资最高的的部门平均工资 11 列出最低工资大于1500的各种工作 12 列出各部门的员工数量及平均工作年限 14 第七章第七章 子查询子查询 1 列出至少有一个雇员的所有部门 2 列出薪金比 SMITH 多的所有雇员 3 列出入职日期早于其直接上级的所有雇员 4 找员工姓名和直接上级的名字 5 显示部门名称和人数 6 显示每个部门的最高工资的员工 7 显示每个部门的工资前2名的员工 8 显示出和员工号7369部门相同的员工姓名 工 资 9 显示出和姓名中包含 W 的员工相同部门的员工 姓名 15 第七章第七章 子查询子查询 10 显示出工资大于平均工资的员工姓名 工资 11 显示出工资大于本部门平均工资的员工姓名 工资 12 显示员工 KING 所管理的员工姓名 13 显示每位经理管理员工的最低工资 及最低工 资者的姓名 14 显示比工资最高的员工参加工作时间晚的员工 姓名 参加工作时间 15 显示出平均工资最高的的部门平均工资及部门 名称 16 第八章第八章 数据操作与事务控制数据操作与事务控制 1 请按照如下表格式 按照要求操作数据 student 学生表 xh char 4 学号 xm varchar2 10 姓名 sex char 2 性别 birthday date 日期 sal number 7 2 奖学金 studentcid number 2 学生班级号 班级class classid number 2 班级编号 cname varchar2 20 班级名字 ccount number 3 班级人数 17 第八章第八章 数据操作与事务控制数据操作与事务控制 1 添加三个班级1班 JAVA1 2班 JAVA2 3班 JAVA3 2 添加信息 A001 张三 男 01 5月 05 100 1 3 修改ORACLE的默认时间格式为 yyyy mm dd 添加信息如下 A002 MIKE 男 1905 05 06 10 4 如果只插入部分信息 A003 JOHN 女 5 将A001学生性别修改为 女 6 将A001学生信息修改如下 性别为男 生日设置 为1980 04 01 7 将生日为空的学生班级修改为3班 8 请使用一条SQL语句 使用子查询 更新每个班 级的人数 18 第八章第八章 数据操作与事务控制数据操作与事务控制 2 建立以下表 CREATE TABLE copy emp empno number 4 ename varchar2 20 hiredate date default sysdate deptno number 2 sal number 8 2 1 表copy emp中插入数据 要求sal字段插入空值 部门 号50 参加工作时间为2000年1月1日 其他字段随意 2 表copy emp中插入数据 要求emp表中部门号为10号 部门的员工信息插入 19 第八章第八章 数据操作与事务控制数据操作与事务控制 3 修改copy emp表中数据 要求10号部门所有员工涨 20 的工资 4 修改copy emp表中sal为空的记录 工资修改为平均工 资 5 工资为平均工资的员工 工资修改为空 参加工作时间 修改为默认值 6 另外打开窗口2查看以上修改 7 执行commit 窗口2中再次查看以上信息 8 删除工资为空的员工信息 9 执行rollback 20 第九章第九章 表和约束表和约束 1 请按照以下要求建立以下字段 1 最大2000个字节定长字符串 2 如果输入 张三 后添空格6个 3 性别输入 男 女 4 最大4000个字节变长字符串 5 如果在数据库中输入 张三 则显示数据 张三 6 表示数字范围为10的 38次方到10的38次方 可以表 示小数 也可以表示整数 7 最大表示4位整数 9999 到 9999 8 表示5位有效数字 2位小数的 一个小数 999 99 到 999 99 9 包含年月日和时分秒 7个字节 10 二进制大对象图像 声音 4G 21 第九章第九章 表和约束表和约束 2 创建表空间mttabase 3 请上机按照如下步骤操作 1 创建学生表student 字段有 学号 姓名 性别 日期 奖学金 2 创建班级表class 字段有班级编号 班级名称 班级人数 3 添加字段 学生所在班级classid 4 修改字段的长度学生姓名可以输入6个汉字 5 修改字段的类型 将学号修改为5字节字符串 22 第九章第九章 表和约束表和约束 4 创建copy dept 要求格式同dept表完全一样 不包含数 据 5 设置copy emp表中外键deptno 参照copy dept中 deptno 语句能否成功为什么 6 设置copy dept表中主键deptno 7 重复执行第二步 语句能否成功为什么 修改直到语句 成功 23 第十章第十章 其他数据库对象其他数据库对象 1 创建序列 起始位1 自增为1 最小值为1 最 大值为9999 2 请为工资大于10000的员工创建视图 要求显示 员工的部门信息 职位信息 部门所在地及部门 的主管 3 请为工资创建索引 比较1000 与 round sal 10000 哪个索引有效 哪个索引无 效 4 现在按照工资的降序排序 分页显示 其中一页 数据位25条 请显示第3页数据 5 创建视图 要求包含字段 部门名 部门平均工 资 24 第十章第十章 其他数据库对象其他数据库对象 6 针对以上视图执行insert update delete 语句能 否成功 为什么 7 显示出员工工资排在第五到第十名的员工信息 8 创建序列 起始值为50 每次增加5 9 在表copy dept中插入记录 其中部门号码采用 第一步中创建的序列生成 10 创建表 采用 create table copy emp index as select from emp 生成500万条数据 把其 中的 员工号 字段修改为唯一 25 第十章第十章 其他数据库对象其他数据库对象 11 查询表copy emp index表中员工号为200001 的员工姓名 工资 记录执行时间 12 创建索引后 再次执行第7步语句 记录执行 时间并做对比 26 综合练习综合练习 1 例如建立表如下 学生基本信息表 CREATE Student Studentid primary key 主键 StudentName NOT NULL 课程信息表 CREATE Subject SubjectID primary key 主键 SubjectName NOT NULL 成绩表 CREATE Grade Studentid 联合主键 SubjectID 联合主键 Grade NOT NULL primary key studentid subjectid 27 综合练习综合练习 2 添加如下数据 insert into student values 101 张三 insert into student values 102 李云 insert into student values 103 未 insert into subject values A01 C insert into subject values A02 ASP insert into subject values A03 JAVA insert into grade values 101 A01 59 insert into grade values 101 A02 72 ins

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论