资源预览内容
第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
第9页 / 共10页
第10页 / 共10页
亲,该文档总共10页全部预览完了,如果喜欢就下载吧!
资源描述
Oracle实验实验SQL*Plus的使用和基本SELECT语句实验目的通过该实验使学员掌握简单查询语句的基本使用方法以及别名的指定方法,能够创建和执行SQL脚本。实验时间20分钟实验要求() 掌握SQL*Plus的基本使用() 掌握SELECT语句的简单用法。实验内容() 登录到SQL*Plus,初始用户名为:SCOTT,口令为TIGER。() 分别显示EMP、DETP、SALGRADE表结构,并察看表中的数据。() 创建一个查询显示每个雇员的姓名、工作、受雇日期及雇员编号,并且要将雇员编号作为第一列显示。最后将该SQL语句保存成文件p1q1.sql,并执行该脚本文件。() 将脚本文件p1q1.sql调取到SQL缓冲区,并将列标题设置为Emp #,Employee,Job及Hire Date。将本次实验保存成exper21.sql脚本文件,请注意为每一项添加适当的注释,以说明每个查询所完成的功能。思考练习题() SQL*Plus命令是用于访问数据库的吗?() 下面的SELECT语句能成功执行吗?() SQLSELECTename,job,sal Salary() FROMemp;() 下面的语句有3处错误,请纠正它们。() SQLSELECTempno,ename() Salary x 12 ANNUAL SALARY() FROMemp;() 创建一个查询从EMP表中检索出不重复的工作名称。() 用一个逗号和一个空格将姓名和工作连接后作为一个整体输出,显示的列标题为Employee and Title。() 创建一个查询,用逗号将表中所有字段的信息连接作为一个整体输出,输出的列标题为THE_OUTPUT。() 将本次思考练习题的代码保存成exercise1.sql脚本文件,请注意为每一项添加适当的注释,以说明每个查询所完成的功能。实验使用WHERE和ORDER BY子句实验目的通过该实验使学员熟练掌握条件查询和排序子句的使用方法及技巧。实验时间20分钟实验要求() 掌握WHERE子句的用法。() 掌握ORDER BY子句的用法。实验内容() 创建一个查询显示工资大于2850美元的雇员的姓名及工资。() 创建一个查询显示工资不在1500到2850美元之间的雇员的姓名及工资。() 创建一个查询显示在10和30部门工作并且工资大于1500美元的雇员的姓名和工资,列标题显示为Employee和Monthly Salary。() 创建一个查询显示奖金比工资多10以上的雇员的姓名、工资及奖金。将本次实验保存成exper2.sql脚本文件,请注意为每一项添加适当的注释,以说明每个查询所完成的功能。思考练习题() 创建一个查询显示雇员编号为7566的雇员的姓名和部门编号。() 显示受雇时间在February 20,1981和May 1,1981之间的雇员的姓名、工资、及受雇时间,并以受雇时间升序排列。() 显示在10号和30号部门工作的雇员的姓名及其部门编号,并以字母顺序排列。() 显示所有受雇于1982年的雇员的姓名和受雇时间。() 显示没有上级管理员的雇员的姓名及其工作。() 显示能挣得奖金的雇员的姓名、工资、奖金,并以工资和奖金降序排列。() 显示姓名中第三个字母为A的雇员的姓名。() 显示姓名中两次出现字母L并且在30部门工作或者其管理员编号是7782的雇员的姓名。() 显示工作为Clerk或Analyst并且工资不等于$1000、$3000、$5000的雇员的姓名、工资及工资。将本次思考练习题的代码保存成exercise2.sql脚本文件,请注意为每一项添加适当的注释,以说明每个查询所完成的功能。实验在SELECT语句中使用单行函数实验目的通过本实验使学员掌握单行函数的使用方法,重点掌握数值、字符、日期函数。实验时间20分钟实验要求() 掌握数值函数的用法。() 掌握字符函数的用法。() 掌握日期函数的用法。实验内容() 创建一个查询显示雇员的编号、姓名、工资以及工资增长15后的整数值(以New Salary作为列标题)。() 创建一个查询增加一个列Increase显示new salary和salary的差值。() 创建一个查询显示雇员姓名并以*为指示符代表工资数额(列标题为EMPLOYEE_AND_THEIR_SALARIES),一个指示符代表一百美元,并以工资数额降序排列。将本次实验保存成exper3.sql脚本文件,请注意为每一项添加适当的注释,以说明每个查询所完成的功能。思考练习题() 编写一个显示当期日期的查询,列标题为Date。() 显示雇员姓名、受雇日期及工资复审日期(复审日期为受雇后6个月后的第一个星期一),复审日期以列标题REVIEW显示,并且显示的日期形式为“Sunday,the Seventh of September,1981.”。() 显示每个雇员的姓名并计算出从受雇日期起到目前一共工作了多少个月,以列标题MONTHS_WORKED显示月数(四舍五入),输出以月数升序排列。() 编写一个以下面的形式输出的查询:() earns monthly but wants .() 列标题为Dream Salaries。() 创建一个查询显示每个雇员的姓名及工资(列标题为SALARY),工资的显示模式为:占15个字符的宽度,对于不够位数的以$填充。() 编写一个查询显示名字以J、A、M开头的雇员的姓名及姓名所占的字符数,姓名的显示格式为第一个字母大写其他字母小写,为每个列设置合适的列标题。() 显示雇员的姓名、受雇日期及受雇当天是星期几(列标题为DAY),并以DAY升序排列。() 创建一个查询显示雇员姓名及其奖金(列标题为COMM),如果该雇员不能获得奖金则以“No Commission.”显示。将本次思考练习题的代码保存成exercise3.sql脚本文件,请注意为每一项添加适当的注释,以说明每个查询所完成的功能。实验4 多表查询实验目的通过本实验使学员掌握表的各种连接,重点掌握内连接。实验时间20分钟实验要求() 掌握多表查询。() 区别各种连接方式,掌握其特点。实验内容() 创建一个查询显示姓名中含有字母A的雇员的姓名、部门名称。() 创建一个查询显示雇员的姓名(Employee)、编号(Emp#)以及其上级管理员的姓名(Manager)和编号(Mgr#)。() 创建一个查询显示所有雇员(即使是没有上级管理员的King)。将本次实验保存成exper4.sql脚本文件,请注意为每一项添加适当的注释,以说明每个查询所完成的功能。思考练习题() 编写一个查询显示每个雇员的姓名、部门编号及部门名称。() 显示30号部门的雇员所从事的不重复的工资名称,并显示30部门的所在地。() 编写一个查询显示能获得奖金的雇员的姓名、部门名称、部门所在地。() 编写一个查询显示在DALLAS工作的雇员的姓名、工作、部门编号及部门名称。() 创建一个查询显示雇员的姓名、部门编号以及与当前雇员在同一部门工作的同事的姓名,为每个输出列设置合适的列标题。() 显示SALGRADE的表结构。创建一个查询显示雇员的姓名、工作、部门名称、工资以及工资等级。() 显示比其上级管理员更早进入公司的雇员的姓名(Employee)、受雇日期(Emp Hiredate)以及其上级管理员的姓名(Manager)及受雇日期(Mgr Hiredate)。将本次思考练习题的代码保存成exercise4.sql脚本文件,请注意为每一项添加适当的注释,以说明每个查询所完成的功能。实验 组函数和分组统计实验目的通过本实验使学员掌握分组函数。实验时间20分钟实验要求() 掌握组函数的用法。() 掌握GROUP BY子句的用法。实验内容() 显示所有雇员工资的最高(Maximum)、最低(Minimum)、合计(Sum)和平均值(Average),并对各值按四舍五入进行处理。() 按照工作种类进行分组,显示各个组内工资的最高(Maximum)、最低(Minimum)、合计(Sum)和平均值(Average)。() 编写一查询显示各个部门的名称(DNAME)、位置(LOC)、部门内的雇员数(Number of People)、部门内的平均工资(Salary)、平均工资四舍五入到小数点后两位。将本次实验保存成exper5.sql脚本文件,请注意为每一项添加适当的注释,以说明每个查询所完成的功能。思考练习题() 组函数对多个数据行进行处理,每个组产生一个结果,该语句对否,请判断。() 组函数计算过程中可以对空值进行处理,该语句对否,请判断。() WHERE字句对数据行的限制优先于分组计算,该语句对否,请判断。() 编写一个查询显示从事同一工作的人数。() 求出管理员的人数(Number of Managers),而不显示管理员。() 编写一查询显示雇员最高工资和最低工资的差值(DIFFERENCE)。() 显示管理员编号(管理员编号明确),以及被该管理员所管理的雇员的最低工资(最低工资大于1000美元)。输出结果按最低工资降序排列。() 创建一查询显示所有雇员的数量以及分别在1980、1981、1982、1983年加入公司的雇员数量,设置恰当的列标题。() 创建一查询,按工作进行分组,求出各组内分别在10、20、30部门工作的雇员的工资的总数,以及各组的工资的合计。设置恰当的列标题。将本次实验保存成exercise5.sql脚本文件,请注意为每一项添加适当的注释,以说明每个查询所完成的功能。实验6 子查询实验目的通过本实验使学员掌握子查询、相关查询子句的用法。实验要求() 掌握单行和多行子查询的用法。() 掌握在子查询中使用组函数。实验时间大约60分钟实验内容() 编写一查询,显示姓名中含有字符T的雇员所在的部门内的所有雇员的编号和姓名。() 创建一个查询显示工资高于平均工资水平并且与姓名中含有T的雇员在同一部门工作的雇员的编号、姓名及工资。() 创建一查询,显示能获得比所有从事CLERK工作的雇员的个人工资更高的其他雇员的姓名、工作及工资,输出按工资降序排列。将本次实验保存成exper6.sql脚本文件,请注意为每一项添加适当的注释,以说明每个查询所完成的功能。思考练习题() 编写一查询,显示与Blake在同一部门工作的雇员的姓名和受雇日期,但是Blake不包含在结果内。() 创建一查询,显示工资大于平均工资水平的雇员的编号及姓名,输出结果按工资降序排列。() 显示位置在Dallas的部门内的雇员的姓名、编号及工作。() 显示被King直接管理的雇员的姓名及其工资。() 显示在Sales部门工作的雇员的部门编号、姓名及工作。() 编写一查询,显示与能获得奖金的雇员的编号和工资同时匹配的雇员的编号和工资。() 显示与工作在Dallas的雇员
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号