oracle实验5 sql基本查询

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

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基本查询

 

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

 

oracle实验5 sql基本查询

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

 

oracle实验5 sql基本查询

 

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

 

oracle实验5 sql基本查询

 

 

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

 

oracle实验5 sql基本查询

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

 

oracle实验5 sql基本查询

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

 

oracle实验5 sql基本查询

 

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

oracle实验5 sql基本查询

 

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

 

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

oracle实验5 sql基本查询

 

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

oracle实验5 sql基本查询

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

 

oracle实验5 sql基本查询

 

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

 

oracle实验5 sql基本查询

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

 

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

oracle实验5 sql基本查询

 

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

 

oracle实验5 sql基本查询

 

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

 

oracle实验5 sql基本查询

 

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

 

oracle实验5 sql基本查询

 

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

 

oracle实验5 sql基本查询

 

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

 

oracle实验5 sql基本查询

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

 

oracle实验5 sql基本查询

 

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

 

oracle实验5 sql基本查询

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

 oracle实验5 sql基本查询

 

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

 oracle实验5 sql基本查询

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

  oracle实验5 sql基本查询

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

 oracle实验5 sql基本查询

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

 oracle实验5 sql基本查询

(二)习题

1.select语句

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

将显示什么结果?(C

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

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

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

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

 

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

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

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

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

 

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

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

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

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

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

 

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

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部门;

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

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

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

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

 

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

.avg .count C.max D.min

 

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

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

 

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

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