传送门(不用再辛苦百度实验报告啦,一键直达呦)

​oracle实验1 oracle 基本操作​

​oracle实验2 oracle数据体系结构​

​oracle实验3 用户、方案的创建与管理​

​oracle实验4 表的创建与管理​

​oracle实验5 sql基本查询​

​oracle实验6 sql高级查询​

​oracle实验7 pl/sql编程基础​

​oracle实验8 存储过程与函数的创建​

​oracle实验9-10 索引与视图,序列和同义词的创建​

​oracle大作业下载​

一、实验目的

1.掌握SELECT 语句的基本语法。

2.掌握常用函数的使用。

3.了解结构化查询结果的常用命令。

二、实验内容

完成第五章实验和习题内容

三、实验环境

Windows xp , Oracle 10g 

四、实验步骤

(1) 查询20号部门的所有员工信息。

oracle实验5 sql基本查询_oracle

(2)   查询所有工种为CLERK的员工的工号、员工名和部门名。

oracle实验5 sql基本查询_oracle_02

(3)     查询奖金(COMM)高于工资(SAL)的员工信息。

oracle实验5 sql基本查询_oracle_03

(4)     查询奖金高于工资的20%的员工信息。

oracle实验5 sql基本查询_sql语句_04

(5)      查询10号部门中工种为MANAGER和20号部门中工种为CLERK的员工的信息。

oracle实验5 sql基本查询_oracle_05

(6)   查询所有工作不是MANAGER和CLERK,且工资大于或等于2000的员工的详细信息。

oracle实验5 sql基本查询_sql语句_06

(7)   查询有奖金的员工的不同工种。

oracle实验5 sql基本查询_oracle_07

(8)  查询所有员工的人数和他们的平均工资。

oracle实验5 sql基本查询_sql语句_08

(9)   查询没有奖金或奖金低于100的员工信息。

select * from emp where (comm is null or comm < 100) ;

oracle实验5 sql基本查询_sql_09

(10)  查询最近两年入职的员工信息。

oracle实验5 sql基本查询_oracle_10

(11) 查询员工工龄大于或等于10年的员工信息。

oracle实验5 sql基本查询_oracle_11

(12)  查询员工信息,要求以首字母大写的方式显示所有员工的姓名。

oracle实验5 sql基本查询_oracle_12

(13)  查询员工名正好为6个字符的员工的信息。

select * from emp where length(ename)= 6 ;

oracle实验5 sql基本查询_sql_13

(14)  查询员工名字中不包含字母“S”员工。

oracle实验5 sql基本查询_oracle_14

(15)  查询员工姓名的第2个字母为“M”的员工信息。

oracle实验5 sql基本查询_sql_15

(16)  查询所有员工姓名的前3个字符。

oracle实验5 sql基本查询_sql语句_16

(17)  查询所有员工的姓名,如果包含字母“s”,则用“S”替换。

oracle实验5 sql基本查询_sql语句_17

(18)  查询员工的姓名和入职日期,并按入职日期从先到后进行排列。

oracle实验5 sql基本查询_sql_18

(19)  显示所有的姓名、工种、工资和奖金,按工种降序排列,若工种相同则按工资升序排列。

oracle实验5 sql基本查询_oracle_19

(20)  显示所有员工的姓名、入职的年份和月份,若入职日期所在的月份排序,若月份相同则按入职的年份排序。

oracle实验5 sql基本查询_sql语句_20

 21.查询每个部门中的员工数量、平均工资和平均工作年限。

 

oracle实验5 sql基本查询_sql_21

22.查询各个部门的人数及平均工资。

 

oracle实验5 sql基本查询_oracle_22

 23.查询各个工作的最低工资,并输出最低工资低于3000的工作名称。

  

oracle实验5 sql基本查询_oracle_23

 24.查询各个部门中不同工种的最高工资。

 

oracle实验5 sql基本查询_sql_24

 25.统计各个工种的员工人数与平均工资。

 

oracle实验5 sql基本查询_sql语句_25

(二)习题

1.select语句

select length(电子邮件)from雇员;

将显示什么结果?(C)

A.雇员表中最长的电子邮件地址

B.雇员表中每个雇员的电子邮件地址

C.雇员表中“电子邮件”列中的每个值的字符数

D.“电子邮件”列中允许使用最多的字符数

2.若雇员表包含以下列:姓氏varchar2(20)、名字varchar2(20)、聘用日期date、计算月份number(3),那么下列的select语句?

Select聘用日期+计算月份from雇员;

返回的值属于那种数据类型?(A)

A. date    B. number    C. datetime      D. integer

3.假设有雇员表结构同上,以下哪条sql语句会正确地显示部门90中所有的雇员的姓氏和聘用的周数?(A)

A.select姓氏,(sysdate-聘用日期)/7as周from雇员where部门标识=90;

B.select姓氏,(sysdate-聘用日期)/7display周from雇员where部门标识=90;

C.select 姓氏,周数 from 雇员 where  部门标识=90;

D.select姓氏,(sysdate-聘用日期)as周from雇员where部门标识=90;

4.假设产品表中包括价格number(7,2)列,对于下面的语句?

Select nvl(10/价格,‘0’)from产品;

如果“价格”列中包含空值,将会出现什么情况?(A)

A.该语句将失败,因为值不能被0除

B. 将显示0值

C.将显示10值

D.该语句将失败,因为值不能被空值除

5.如果需要从雇员表中查询部门10(销售部)中薪金不足25000美元的雇员信息,应执行以下哪个查询语句才能完成此任务? (C)

A. select 姓氏,名字,薪金from雇员 where 薪金>25000and 部门标识=10;

B. select 姓氏,名字,薪金from雇员 where 薪金=25000and 部门标识=10;

C. select 姓氏,名字,薪金from雇员 where 薪金<25000and 部门标识=10;

D. select 姓氏,名字,薪金from雇员 where 薪金<25000or 部门标识=10;

6.评估以下select语句:

Select min(聘用日期),部门标识from雇员group By部门标识;

将显示哪个值?(A)

A. 每个部门中最早的聘用日期

B. 雇员表中最早的聘用日期

C. 雇员表中最晚的聘用日期

D. 包含空值的雇员表中的聘用日期

7,以下哪个说法正确的解释了无法执行以下sql语句的原因? (B)

Select部门标识“部门”,avg(薪金)“平均值” from 雇员group by部门;

A. 无法对薪金求平均值,因为并不是所有的数值都能被平分

B. 不能在group by 字句中使用列别名

C. group by 子句中必须有要分组的内容

D. 部门表中没有列出部门标识

8.应使用以下哪个统计函数来显示雇员表中的最高薪金值?(C)

A.avg B.count C.max D.min

9.统计函数将针对()返回一个值,并在计算过程中()空值.(A)

A.行集,忽略 B.每行,忽略  C.行集,包括  D.每行,包括

10.可对数据类型为date的列使用以下哪个统计函数?(B)

A.AVG B.MAX   C.STDDEV D.SUM