oracle湘潭大学数据库数据查询实验报告.pptx
oracle数据库实验报告
oracle数据库实验报告
《Oracle数据库实验报告》
在当今信息化时代,数据库管理系统扮演着至关重要的角色。Oracle数据库作
为全球领先的企业级数据库管理系统,在各行各业都有着广泛的应用。本次实
验旨在通过对Oracle数据库的实验操作,深入了解其基本功能和特点,并探讨
其在实际应用中的优势和局限性。
实验一:数据库的创建与连接
在实验中,我们首先学习了如何使用SQL命令创建一个新的数据库,并通过用
户名和密码连接到该数据库。通过这一步骤,我们了解了Oracle数据库的基本
操作流程,包括数据库的创建、用户的授权和连接等。
实验二:数据表的创建与管理
在本次实验中,我们学习了如何使用SQL命令创建数据表,并进行数据的插入、查询、更新和删除操作。通过这些操作,我们深入了解了Oracle数据库的数据
管理功能,包括数据表的设计和维护等。
实验三:索引的创建与优化
索引是数据库中非常重要的组成部分,能够提高数据的检索效率。在本次实验中,我们学习了如何使用SQL命令创建索引,并通过优化查询语句来提高数据
库的性能。这些操作让我们更加深入地了解了Oracle数据库的优化功能,以及
如何通过索引来提高数据库的性能。
实验四:备份与恢复
数据库的备份与恢复是数据库管理中至关重要的一环。在本次实验中,我们学
习了如何使用Oracle数据库提供的工具进行数据库的备份和恢复操作。这些操
作让我们了解了数据库的灾难恢复功能,以及如何保障数据的安全性。
通过本次实验,我们深入了解了Oracle数据库的基本操作和功能,包括数据库的创建与连接、数据表的管理、索引的优化以及备份与恢复等。同时,我们也发现了Oracle数据库在实际应用中的优势,如稳定性、安全性和性能优化等方面。然而,我们也意识到Oracle数据库在一些特定场景下存在一定的局限性,如高昂的成本、复杂的配置和维护等。
湘潭大学数据库实验0(sqlplus)
2. SQL*Plus 的启动 启动 SQL*Plus 命令的格式如下: SQLPLUS userid/password@host/sid
在下面的例子中,假设用户名为 scott,他的口令为 tiger。
1) SQLPLUS username/password@host/sid 连接远程 Oracle。Oracle 服务器 IP:172.16.128.88,SID:orcl
--查看所有 68 个系统变量值 --显示当前连接用户
更完整、详细的 SQLPlus 命令参见文件:SQLPlus 之命令使用大集合.pdf。
示例:
图 1-3 设置 linesize=100
图 1-4 设置 pagesize=30
6) 查看系统变量值 SQL> show all SQL> show user
--查看所有 68 个系统变量值 --显示当前连接用户
7)格式化列的显示 可以指定字符列显示的宽度,可以指定数值列显示的格式。
元素 描述
SQL*Plus 显示 Oracle 版本之后显示操作系统提示符。
3. SQL 命令 SQL 命令包括数据定义语言(如 Create、Alter 等)和数据操作语言(Select, Insert, Update, Delete
等),这些都可在 SQL*Plus 中使用。 如:
SQL>SELECT EMPNO, ENAME, JOB, SAL 2 FROM EMP WHERE SAL < 2500;
oracle大型数据库实验报告4
五、思考题及其它
1、显示游标和隐式游标在用法上的区别?
2、raise语句应该放在PL/SQL块的哪个部分?当在异常和oracle错误之间建立关联时,应该在哪个部分完成?
3、实验报告要求
本次实验书写两次,分别是(一)和(二)、(三)和(四)
实验六:过程、函数、触发器
实验学时:4
实验类型:设计型
一.实验目的及要求
1.掌握过程的创建与维护;
2.掌握函数的创建与维护;
3.掌握触发器的创建于维护;
4.了解包的使用。
二、实验主要内容
1.过程的创建与维护;
2.函数的创建与维护;
3.触发器的创建于维护;
4.包的使用。
三、实验仪器设备
在局域网环境下,有一台服务器和若干台客户机。服务器成功安装Oracle 11g数据库服务器(企业版),客户机成功安装Oracle 11g客户端软件,网络服务配置正确,数据库和客户端正常工作。
四、实验内容与步骤
(一)、过程的创建与维护
1、编写一个过程,可以输入一个雇员名,如果该雇员的的职位为PRESIDENT就给他的工资增加1000,如果该雇员的职位为MANAGER,就给他的工资加500,其他职位的雇员工资增加200。并在SQL*PLUS中调用该过程以修改FORD的工资。
2、创建一个过程avg_sal,用于输出emp表中某个部门的平均工资,并在PL/SQL匿名块中调用该过程输出20号部门的平均工资。
3、从雇员基本信息表(EMP)中统计各部门(DEPTNO)人数后,将结果打印出来。(选做)CREATE OR REPLACE PROCEDURE SUM_COUNT IS
--创建一个游标,查询dept所有的部门编号
数据库查询的实验报告
数据库查询的实验报告
数据库查询的实验报告
引言:
数据库查询是一项重要的技术,它可以帮助我们从庞大的数据集中提取所需的信息。本实验旨在探索数据库查询的原理和实践,通过实际操作和分析,深入了解数据库查询的过程和技巧。
实验目的:
1. 理解数据库查询的基本概念和原理;
2. 掌握使用SQL语句进行数据库查询的方法;
3. 分析不同查询语句的执行效率和优化策略。
实验步骤:
1. 数据库准备:选择一个合适的数据库系统,并创建一个包含适当表结构和数据的数据库。
2. 查询语句编写:根据实际需求,编写不同类型的查询语句,包括基本查询、条件查询、排序查询、聚合查询等。
3. 查询语句执行:使用数据库管理系统提供的查询工具,执行编写好的查询语句,并观察查询结果。
4. 查询结果分析:根据查询结果,分析查询语句的执行效率和查询结果的准确性。
5. 优化策略实施:对于执行效率较低的查询语句,尝试优化策略,如索引的使用、查询语句的重写等。
6. 优化效果评估:比较优化前后查询语句的执行效率,并分析优化策略的有效
性。
实验结果与讨论:
通过实验,我们发现数据库查询的过程中,查询语句的编写和优化对查询效率
有重要影响。以下是我们的实验结果和讨论。
1. 基本查询:
基本查询是最简单的查询方式,通过SELECT语句从数据库中选择所需的字段。我们发现,基本查询的执行效率较高,查询结果准确。然而,在处理大量数据时,查询时间可能会增加。为了提高效率,我们可以使用LIMIT子句限制返回
的记录数。
2. 条件查询:
条件查询是根据特定条件筛选数据的查询方式。我们使用WHERE子句来指定
湘潭大学数据库实验1
三.上机内容
1. 创建表 EMP2
CREATE TABLE EMP2
(EMPNO NUMBER(4) PRIMARY KEY NOT NULL,
ENAME VARCHAR2(10),
JOB
VARCHAR2(10),
MGR
NUMBER(4),
HIREDATE DATE,
SAL
NUMBER(7,2),
如:给 EMP1 增加一个属性 ALTER TABLE EMP1 ADD (SPOUSES_NAME CHAR(10));
MODIFY 关键字可以用来修改已存在的数据表定义。 如:把 EMP 中 ENAME 长度改为 25 个字符 ALTER TABLE EMP1 MODIFY (ENAM CHAR(25));
9. 用 ALTER 的 DROP 命令删除数据表 EMP2 中已存在的主键 ALTER TABLE EMP2 DROP PRIMARY KEY;
10.DROP 命令删除数据表 DEPT22 DROP TABLE DEPT22;
四.上机作业
1.用 DROP TABLE 命令删除本实验至此自己创建的所有数据表。
《数据库原理》 实验教学指导书
实验一 数据模型设计与实现
撰写人:郭云飞
湘潭大学 信息工程学院 二○一五年三月
实验一 数据模型设计与实现
一.上机目的
数据库-数据查询实验报告
实验报告
课程名称数据库原理与应用实验名称数据查询系别专业班级指导教师
学号姓名实验日期_
实验名称:数据查询
一、实验目的
1.熟悉各种基本的数据查询的含义。
2.掌握数据查询的SQL语句编写方法。
3.能根据要求写出正确的查询语句。
4.掌握基本的调试方法。
二、实验环境
1.硬件环境:微机
2.软件环境:Windows,Sql server2000或更高版本
三、实验内容及步骤
题目根据要求编写以下SQL查询语句
第一题简单查询
1.查询病人表,显示所有病人的病人编号、保险公司名称、电话号码(别名:病人电
话)。
2.查询病人表,显示病人编号、病人姓名(病人姓+病人名)、保险公司名称,并在每
个“电话号码”前面显示字符串“病人电话:”。
3.查询病人表,要求显示保险公司名称,并消除重复的值。
4.查询病人表,要求只显示前五条的全部病人信息。
5.查询病人表,要求显示最年轻的前6位病人的病人编号,病人姓名,病人年龄
6.给医生表取别名:doctors,并显示医生表的所有信息
7.要求查询在“人民保险公司”投保的所有病人的信息
8.要求查询病人年龄在20~60岁之间的所有病人信息
9.要求查询姓“王”、姓“李”或姓“关”的所有病人的信息。(提示:用“in”或者
用“or”两种方法查询。)
10.查询电话号码为空的病人信息
11.要求按年龄从大到小显示病人信息
12.要求先按病人姓的升序;如果姓一样,再按年龄的降序,来显示病人信息
13.要求查询电话号码的最后一个数字为6的病人编号,病人姓名,电话号码
14.要求查询倒数第二个数字为7的病人编号,病人姓名,电话号码。
数据库数据查询实验报告
数据库应用设计实验报告
实验名称:_____ 实验3 数据查询______
实验类型:_________验证型实验_________
实验环境:_________ PC机____________
指导教师:__ ____ ___
专业班级:__________计科0802班________
姓名:____________ ____________
学号:_______ ______ ______
联系电话:________ ______ _
电子邮件:_ _ _
实验地点:____________________________
实验日期:2011 年 4 月13 日
实验报告日期:2011 年 4 月 17 日
成绩:__________________________
一、实验目的
●掌握查询语句的一般格式;
●熟练掌握单表查询、连接查询、集合查询、统计查询和嵌套
查询。
二、实验平台
PC机,操作系统为windows2000,SQLsever2000
三、实验步骤、出现的问题及解决方案(不能解决的将问题列出)
本次实验同样是在前2次实验的基础上进行的,也就是对上两次做好的实验进行数据查询。其中包括:单表查询,连接查询,嵌套查询和集合查询。上两次的代码就不在这里展示了。
在数据库“zjs”中完成查询。
完整代码如下:
/*查询全体学生的学号与姓名。*/
select 学号,姓名
from 学生表;
/*查询每个学生及其选修课程的情况。*/
select *
from 选课表;
/*查询所有姓“张”的学生的基本情况。*/
select *
from 学生表
湘潭大学数据库实验1
《数据库原理》实验教学指导书
实验一数据模型设计与实现撰写人:郭云飞
湘潭大学
信息工程学院
二○一六年四月
实验一数据模型设计与实现
一.上机目的
1.了解并掌握数据模型的设计。
2.了解并掌握Oracle中的用Create命令定义表的方法,以及表的完整性定义。3.了解并掌握Oracle中的用Alter命令和Drop命令对表的修改和删除。
二.预备知识
1.E-R图图例
图例一(教材第5版)
矩形,表示实体集
菱形,表示联系集
线段
椭圆,表示属性
下划线标识主键属性
图例二(教材第6版)
矩形,表示实体集
菱形,表示联系集
线段
属性在实体矩形内列出
下划线标识主键属性
2.Oracle数据类型
3.CREATE TABLE命令
1)CREATE TABLE table_name( column_name type(size), column_name type(size), …);
2)CREATE TABLE table_name [(column_name,…)] AS SELECT statement;
新建一张表,用于保存查询结果。
4.完整性约束
Oracle允许用户为表和列定义完整性约束来增强一定的规则。
可分为:表约束和属性约束
1)NOT NULL约束
NOT NULL约束保证属性值不能为NULL。没有NOT NULL约束的属性,值可以为NULL。
2)UNIQUE约束
指定一个属性或者属性的集合为唯一键。在表中没有两行具有相同的值。如果唯一键是基于单条记录的,NULL是允许的。
表约束命令格式:
,[CONSTRAINT constraint_name] UNIQUE (Column, Column, …)
《Oracle数据库》实验报告一
______________________________________________________________________________________________________________
广东金融学院实验报告
课程名称:Oracle数据库
______________________________________________________________________________________________________________
______________________________________________________________________________________________________________
Welcome To Download !!!
欢迎您的下载,资料仅供参考!
ORACLE实验报告完结版
实验报告(三)
院系:信息学院
课程名称:日期:
班级姓名
专业信息管理与信息系统学号实验室实验名称Oracle的存储管理与分析(1)
成绩评定
教师签名
实验目的索引
实验内容一、请写三个表明oracle读取数据所用的三种方式的SQL语句,并列出它们的执行计划
二、以emp为原型,创建一个test表,在test的empno列上创建索引
三、分析索引,通过index_stats查看的索引高度,结构等信息
四、往test表中删除,插入,更新3-5条记录,再分析索引,查看三所列的索引结构的信息
五、往test表中插入600条记录,查看索引结构
六、删除500条记录,查看索引结构
七、对索引进行合并,查看索引变化
八、重构索引,查看索引变化
一、请写三个表明oracle读取数据所用的三种方式的SQL语句,并列出它们的执行计划
1.全表扫描(full table scan--fts)
并行查询可能会使得我们的路径选择采用全表扫描
2.通过行ID(ROWID)
向表中插入对象时隐含会创建改行ROWID,它是数据行所存储的数据块地址,这样可以以最快的速度找到该行数据,是oracle中读取单行数据最快的方法。
3.使用索引
(1)使用索引找到相应ROWID
(2)通过找到的ROWID从表中读取相应的数据
二、以emp为原型,创建一个test表,在test的empno列上创建索引
三、分析索引,通过index_stats查看的索引高度,结构等信息
四、往test表中删除,插入,更新3-5条记录,再分析索引,查看三所列的索引结构的信息
五、往test表中插入600条记录,查看索引结构
oracle湘潭大学数据库数据查询实验报告
湘潭大学
实验报告
课程: Oracle数据库
实验题目:数据查询
学院:信息工程学院
专业:计算机科学与技术2班
学号: 17
姓名:韩林波
指导教师:郭云飞
完成日期:
一.上机目的
1. 掌握Select语句的运用,
2. 掌握一些函数的应用,
3. 掌握子查询的运用,
4. 掌握连接和分组的应用,
5. 掌握视图的创建。
二.实验内容
常用oracle语句的学习,与相应视图的创建
三.上机作业
写出下列应用对应的SQL语句,并将查询语句定义为视图,视图名根据题号依次命名为V1、V2、…,如果一个应用要定义多个视图,则视图名根据题号依次命名为V1_1、V1_2、…。针对基本表EMP和DEPT完成下列查询
1) 检索EMP中所有的记录。
create or replace view v1 as select * from emp;
2) 列出工资在1000到2000之间的所有员工的ENAME,DEPTNO,SAL。
create or replace view v2 as select ename,deptno,sal from emp where sal between 1000 and 2000;
3) 显示DEPT表中的部门号和部门名称,并按部门名称排序。
create or replace view v3 as select dname,deptno from dept group by DNAME,deptno;
4) 显示所有不同的工作类型。
create or replace view v4 as select distinct job from emp;
Oracle数据库基础教程课后实验---实验报告
Oracle数据库基础教程实验报告
专业计算机科学与技术
姓名李文成
学号 2010
指导老师肖卓宇
实验一创建数据库和表
目的与要求
(1)了解oracle数据库的逻辑结构和物理结构。
(2)了解Oracle Enterprise Manager的使用情况。
(3)学习关闭和启动数据库实例的方法。
(4)学会使用SQL语句创建数据库的方法。
(5)学会使用SQL语句删除数据库的方法。
实验准备
首先要了解Oracle数据库的逻辑结构,包括方案对象,数据块、区间、段、和表空间等。数据库由若干个表空间组成,表空间由表组成,表由段组成,段由区间组成,区间则由数据块组成。Oracle数据库的物理结构由构成数据库的操作系统文件所决定。每个Oracle数据库都由3种类型的文件组成:数据文件、日志文件和控制文件。这些数据库文件为数据库信息提供真正的物理存储。
Enterprise Manager 10g是Oracle 10g提供的新的管理工具,简称EM。使用它可以完成启动、关闭数据库,创建、删除数据库等功能。只有系统管理员或拥有CREATE DATABASE权限的用户才能创建数据库。可以在Enterprise Manager 中通过图形界面创建数据库,也可以使用CREATE DATABASE语句创建数据库。
实验内容
oracle 服务器端的安装
先解压10201_client_win32.zip压缩包,双击setup.exe。
如下图:
稍等之后进入欢迎界面,如下图:
点击下一步
选择“管理员”安装类型,点击下一步:选择安装的详细目录后点击下一步。
数据库的查询实验实验报告
图七
5创建一个规则,将其绑定到Student表的Sex列上,保证输入的性别值是0或1
由于微软在SQL Server 2005及以上的版本中已经决定启用规则和默认,所以不能用企业管理器创建规则和默认值,只能用Transact-SQL语句实现。
使用sa用户访问操作,在student表中新增一条条目的实验截图如下:
图十五
如上图,新增条目的操作成功。
然后使用Transcat-SQL语句更改数据代码如下:
update[dbo].[student]
setstudent_name='彦巧'
wherestudent_name='孙彦巧'
实验截图如下:
useexp02
createusershihexpforloginshih
grantselectonbooktoshihexp
grantselectonclasstoshihexp
grantselectoncoursetoshihexp
grantselectondepartmenttoshihexp
创建规则语句如下:
createrulesex01
as@sex=0or@sex=1
绑定规则语句如下:
Oracle数据库实验报告
2.在建立的student表中插入以下信息并提交:
3.在student表中找出总成绩大于等于200分的学生学号、姓名以及总成绩; 200分的学生学号、姓名、数学成绩、英语成绩、语文成绩和总成绩;
5.找出student表中所有李姓和刘姓学生的姓名、学号和总成绩; 6.找出student表中数学成绩在[60,80]范围内的学生姓名、学号和数学成绩;
实验内容三 参考教材 4.4.7~4.4.9,完成以下实验操作(可以使用SQL*PLUS、SQL Developer或PL/SQL Developer完成),并将实验步骤(含过程截图)记录到实 验报告中。 1.找出student表中满足以下条件的学生学号和姓名:数学成绩、英语成 绩和语文成绩均大于student表中的某一学生的数学成绩、英语成绩和 语文成绩;
列的类型一致; 型与student表中相应列的类型一致; 4.使用insert all语句将student表的信息分解到name表和score表中;
5.新建表student_shanxi和student_henan,表中列信息与student表的列信息一致;
6.结合student表和address表,使用insert first语句将student表中籍贯为山西的学生信息插入到表student_shanxi中,籍贯为河南的学生信息插入到表 student_henan中;
7.新建表student_math ,要求具有列:学号(类型为number ,主键)、姓名(类型为varchar2,长度为50个字符)、数学(类型为varchar2,长度为10 个字符);
oracle实验报告
oracle实验报告
Oracle实验报告
引言:
Oracle是一种常用的关系型数据库管理系统,广泛应用于企业级应用程序的开
发中。本实验报告将介绍在使用Oracle数据库进行实验过程中的一些关键点和
经验总结。
一、实验目的
本次实验的目的是熟悉Oracle数据库的基本操作和管理,包括创建数据库、创
建表、插入数据、查询数据、更新数据和删除数据等。
二、实验环境
本次实验使用的是Oracle Database 19c,该版本是Oracle公司最新发布的数据
库管理系统。实验环境搭建在一台Windows 10操作系统的个人电脑上。
三、实验步骤
1. 数据库创建
在Oracle数据库管理系统中,首先需要创建一个数据库。通过执行CREATE DATABASE语句,可以创建一个新的数据库实例。在创建数据库时,需要指定
数据库的名称、字符集、日志文件路径等参数。
2. 表的创建
在数据库中创建表是存储数据的基本操作。通过执行CREATE TABLE语句,
可以创建一个新的表,并定义表的结构,包括列名、数据类型、约束等。
3. 数据的插入
插入数据是将实际数据存储到数据库中的操作。通过执行INSERT INTO语句,
可以将数据插入到已创建的表中。在插入数据时,需要指定要插入的列和对应
的值。
4. 数据的查询
查询数据是从数据库中检索所需信息的操作。通过执行SELECT语句,可以从已创建的表中查询数据。在查询数据时,可以使用WHERE子句来指定查询的
条件,使用ORDER BY子句来对查询结果进行排序。
5. 数据的更新
更新数据是修改已存在数据的操作。通过执行UPDATE语句,可以更新表中
《ORACLE数据库》实验报告
福建师范大学协和学院
本科实验报告
课程名称:数据库原理与应用(ORACLE)
学院(系):信息技术系
专业:计算机科学与技术
班级:
学号:
学生姓名:
实验项目内容与学时分配
《数据库原理与应用(ORACLE)》实验报告填写要求一、基本说明:
本课程共需完成实验项目14个。每一次实验均须完成相应的实验报告。
二、实验报告书写要求:
1.实验目的和要求:明确实验的内容和具体任务;
2.说明解题的思路,提供相应的语句和运行结果。
3.实验小结:针对实验中碰到的错误情况进行相互讨论或提问,并将错误
的编号“ORA
.....”以及解决的方法写入实验报告,作为以后学习的...-.XXXXX
参考。
4.全部文字叙述内容要求简明扼要,思路清楚;
5.本课程实验暂不实行分组,原则上个人独立完成。
三、其他要求:
要求实验报告字迹工整、文字简练、数据齐全、分析充分、具体、定量。
对于抄袭实验报告和编篡原始数据的行为,一经发现,以零分处理
.....,并根据相关条例给予处分。
四、成绩评定:
实验报告由指导老师评定成绩,成绩分为优(A)、良(B)、中(C)、及格(D)与不及格(E)五个等级。实验成绩占期末总评成绩的50%。
实验报告中涉及的SPJ数据库,包括S,P,J,SPJ四个关系模式:S( SNO,SNAME,STATUS,CITY);
P(PNO,PNAME,COLOR,WEIGHT);
J(JNO,JNAME,CITY);
SPJ(SNO,PNO,JNO,QTY);
供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
20) 列出薪金高于公司平均薪金的所有员工。 Create or replace view v20 as select ename from emp where sal>(select avg(sal) from emp );
21) 列出与“SCOTT”从事相同工作的所有员工。 Create or replace view v21 as select ename from emp where job=(select job from emp where
ename='SCOTT') and ename!='SCOTT';
12
学海无 涯
22) 列出薪金等于部门30中员工的薪金的所有员工的姓名和薪金。 Create or replace view v22 as select ename,sal from emp where sal in(select sal from emp where
6
学海无 涯
10) 查询出每个部门中工资最高的职工。 create or replace view v10 as
select ename,job,max(sal) as max_sal from emp group by job,ename ;
11) 查询出每个部门比本部门平均工资高的职工人数。
7
17) 列出所有“CLERK”(办事员)的姓名及其部门名称。 Create or replace view v17 as select ename,dname from
JOB='CLERK' ;
emp natural join dept
where
10
学海无 涯
18) 列出最低薪金大于3500的各种工作。 Create or replace view v17 as select distinct job from emp where sal>3500;
16
学海无涯
create or replace view v31(dept_name,id_num) as select dept_name,count(id) from student group by dept_name order by count(id);
32) 查询考试成绩有不及格的学生的学号。 create or replace view V32 as select distinct id from takes where grade<60;
学海无 涯
湘潭大学 实验报告
课 程: Oracle 数据库 实验题目: 数据查询 学 院: 信息工程学院 专 业: 计算机科学与技术 2 班 学 号 : 2013551417 姓 名: 韩林波 指导教师: 郭云飞 完成日期: 2015.5.25
1
一.上机目的 1. 掌握Select语句的运用, 2. 掌握一些函数的应用, 3. 掌握子查询的运用, 4.掌握连接和分组的应用, 5. 掌握视图的创建。
4
学海无 涯
6) 列出部门号是20,工作是“CLERK”(办事员)的员工。 create or replace view v6 as select ename from emp where deptno='20' and job='CLERK';
7) 显示名字中包含TH和LL的员工名字。 create or replace view v7 as select ename from emp where ename like'%TH%' or ename like '%LL%';
15
学海无 涯
30) 给出有学生的系的名单。 create or replace view v30(dept_name,id_num) as select dept_name,count(id) from student
group by dept_name;
31) 给出有学生的系的名单,按升序排列
学海无 涯
二. 实验内容
常用 oracle 语句的学习,与相应视图的创建
三.上机作业
写出下列应用对应的 SQL 语句,并将查询语句定义为视图,视图名根据题号依次命名为 V1、V2、…,如果一个应用要定义多个视图,则视图名根据题号依次命名为 V1_1、 V1_2、…。
针对基本表EMP和DEPT完成下列查询 1) 检索EMP中所有的记录。 create or replace view v1 as select * from emp;
学海无涯
Create or replace view v11(deptno,count) as select deptno,count(*) from (select a.deptno,a.ename from emp a,(select avg(sal) c,deptno from emp group by deptno) b where a.deptno=b.deptno and a.sal>b.c) group by deptno;
dept_name='Comp .Sci.' or dept_name='Physics';
from
student
where
18
学海无 涯
create or replace view v34_2 as select id,dept_name from student where (dept_name)=('Comp .Sci.') or (dept_name)=('Physics') ;
14
学海无 涯
27) 列出各种工作的最低工资。 Create or replace view v27 as select job,min(sal) from emp group by job;
28) 列出各个部门的MANAGER(经理)的最低薪金。 Create or replace view v28 as select dname,min(sal) from emp natural join dept
in (select mgr from emp ) group by dname;
where empno
29) 列出所有员工的年工资,按年薪从低到高排序。 Create or replace view v29 as select ename,sal*12 as year_salary from emp order by year_salary;
15) 列出受雇日期早于其直接上级的所有员工。 Create or replace view v15 as select A.ename from emp A where A.hiredate<(select B.hiredate
from emp B where A.mgr=B.empno);
9
学海无 涯
26) 列出所有部门的详细信息和部门人数。 Create or replace view v26 as select dname,count(ename),avg(sal),loc,deptno from emp natural
right outer join dept group by dname,loc,deptno ;
12) 列出至少有一个员工的所有部门。 Create or replace view v12 as select job,count(ename) from emp group by job having
count(ename) >0;
13) 列出薪金比“SMITH”多的所有员工。 Create or replace view v13 as select ename from emp where sal>(select sal from emp where
16) 列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门
Create or replace view v16 as select dname,empno,ename,job,mgr,
hiredate, comm,
deptno,sal,deptno from emp natural right outer join dept ;
5
学海无 涯
8) 显示所有员工的名字和各项收入总和。 create or replace view v8 as select ename,sal+comm as sal_comm from emp;
9) 查询每个部门的平均工资。 create or replace view v9 as select job,avg(sal) as avg_sal from emp group by job;
ename='SMITH');
8
学海无Biblioteka Baidu涯
14) 列出所有员工的姓名及其直接上级的姓名。 Create or replace view v14 as select distinctA.ename as work1 ,(select ename from emp where
(A.mgr=emp.empno) )as work2 from emp A;
33) 查询选了但还没有登记考试成绩的学生的学号。 Create or replace view v33 as select id from takes where grade is null and
17
course_id is not null;
学海无 涯
34) 列出计算机科学系与物理系的学生。(三种方式) create or replace view v34_1 as select id,dept_name
deptno=30);
23) 列出薪金高于在部门30工作的所有员工的薪金的员工姓名和薪金。 Create or replace view v23 as select ename,sal from emp where sal>(select max(sal) from emp
where deptno=30);
13
学海无涯
24) 列出在每个部门工作的员工数量、平均工资。 Create or replace view 24 as select dname,count(ename),avg(sal) from emp natural join dept
group by dname;
25) 列出所有员工的姓名、部门名称和工资。 Create or replace view v25 as select ename,dname,sal from emp natural join dept;
2
学海无 涯
2) 列出工资在1000到2000之间的所有员工的ENAME,DEPTNO,SAL。 create or replace view v2 as select ename,deptno,sal from emp where sal between 1000 and 2000;
3) 显示DEPT表中的部门号和部门名称,并按部门名称排序。 create or replace view v3 as select dname,deptno from dept group by DNAME,deptno;
3
学海无 涯
4) 显示所有不同的工作类型。 create or replace view v4 as select distinct job from emp;
5) 列出部门号在10到20之间的所有员工,并按名字的字母排序。 create or replace view v5 as select ename from emp where deptno between 10 and 20 order by ename;
19) 列出在部门“SALES”(销售部)工作的员工的姓名,假定不知道销售部的部门编号。 Create or replace view view v19 as select ename,dname from emp natural join dept where
dname='SALES' ;
11
学海无 涯