大型数据库技术实验3林丹萍0910012115Word格式.docx

上传人:b****5 文档编号:8367324 上传时间:2023-05-11 格式:DOCX 页数:21 大小:485.68KB
下载 相关 举报
大型数据库技术实验3林丹萍0910012115Word格式.docx_第1页
第1页 / 共21页
大型数据库技术实验3林丹萍0910012115Word格式.docx_第2页
第2页 / 共21页
大型数据库技术实验3林丹萍0910012115Word格式.docx_第3页
第3页 / 共21页
大型数据库技术实验3林丹萍0910012115Word格式.docx_第4页
第4页 / 共21页
大型数据库技术实验3林丹萍0910012115Word格式.docx_第5页
第5页 / 共21页
大型数据库技术实验3林丹萍0910012115Word格式.docx_第6页
第6页 / 共21页
大型数据库技术实验3林丹萍0910012115Word格式.docx_第7页
第7页 / 共21页
大型数据库技术实验3林丹萍0910012115Word格式.docx_第8页
第8页 / 共21页
大型数据库技术实验3林丹萍0910012115Word格式.docx_第9页
第9页 / 共21页
大型数据库技术实验3林丹萍0910012115Word格式.docx_第10页
第10页 / 共21页
大型数据库技术实验3林丹萍0910012115Word格式.docx_第11页
第11页 / 共21页
大型数据库技术实验3林丹萍0910012115Word格式.docx_第12页
第12页 / 共21页
大型数据库技术实验3林丹萍0910012115Word格式.docx_第13页
第13页 / 共21页
大型数据库技术实验3林丹萍0910012115Word格式.docx_第14页
第14页 / 共21页
大型数据库技术实验3林丹萍0910012115Word格式.docx_第15页
第15页 / 共21页
大型数据库技术实验3林丹萍0910012115Word格式.docx_第16页
第16页 / 共21页
大型数据库技术实验3林丹萍0910012115Word格式.docx_第17页
第17页 / 共21页
大型数据库技术实验3林丹萍0910012115Word格式.docx_第18页
第18页 / 共21页
大型数据库技术实验3林丹萍0910012115Word格式.docx_第19页
第19页 / 共21页
大型数据库技术实验3林丹萍0910012115Word格式.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

大型数据库技术实验3林丹萍0910012115Word格式.docx

《大型数据库技术实验3林丹萍0910012115Word格式.docx》由会员分享,可在线阅读,更多相关《大型数据库技术实验3林丹萍0910012115Word格式.docx(21页珍藏版)》请在冰点文库上搜索。

大型数据库技术实验3林丹萍0910012115Word格式.docx

图3-1

✧选择ApplicationDevelopment(“应用程序开发”)选项。

✧单击SQLPlus。

启动SQL之后,将会出现图3-2所示的屏幕。

填写相应的详细资料。

按Tab键转到下一个选项。

安装Oracle时创建的默认用户为Scott,密码为tiger。

主机字符串是oracle。

图3-2

✧单击OK(“确定”)。

将会出现如下图所示的屏幕,显示产品信息。

图3-3

SQL>

是SQL提示符。

在此提示符下提供要执行的SQL命令和语句。

下面给出可通过scott/tiger登录访问的默认表及其列名。

在本实验中,我们将使用这些表。

EMP

DEPT

SALGRADE

EMPNO

ENAME

JOB

MGR

HIREDATE

SAL

COMM

DEPTNO

DNAME

LOC

GRADE

LOSAL

HISAL

 

3.2从表中查看数据

输入表中的数据可通过使用SELECT语句进行查看。

3.2.1查看所有列

语法如下:

SELECT*FROMtablename;

其中“*”表示将显示所有列。

实验3-1部门表中查看所有记录和所有字段,请执行如下步骤:

✧在SQL提示符下键入“Select*fromdept”(从部门选择*)。

✧按Enter。

您将得到图3-4中显示的结果。

图3-4

3.2.2查看选择列

要查看选择列,请输入列名,并用逗点而不是“*”隔开。

SELECTcolumnname1,columnname2,?

columnnameN

FROMtablename;

实验3-2只显示部门表中的部门名和位置,执行如下所示的语句:

图3-5

请给出运行结果:

某些列标题由于其列大小限制而使用缩写词。

要将字符列的显示宽度设置为12,请给出如下语句:

COLUMNcolumnnameFORMATA12

COLUMN语句不能以分号结尾,因为它是格式化命令。

通过COLUMN命令可以使用的选项包括:

选项

功能

FORMAT

指定数据格式

HEADINGtext

text为列标题

JUSTIFYLRC

将标题对齐为LEFTRIGHTCENTER

WRAPTRUNC

在列中回行或截断数据

通过FORMAT选项可用的掩码包括:

掩码

An

n个字母数字字符

99[9…]

不含前导零的数字

00[…]

含前导零的数字

.

显示的小数点

V

隐藏的小数点

$

先导$

MI

数字后面是减号

PR

负值包括在“<

>

”之内

B

显示空白而不是零

要显示包含前导零的薪金,请在SQL提示符下给出如下命令。

SQL>

columnsalformat009999

实验3-3设置格式之后,执行如下所示的命令。

图3-5(a)

这样,所有雇员的薪金就以包含前导零的格式显示。

要删除此格式,请在提示符下输入如下给定命令。

columnsalformat999999

3.2.3查看符合条件的行

可以使用WHERE子句完成对某些相关数据行的条件检索。

WHERE子句中指定的条件称为谓词。

谓词可以是任意数据类型、字符、数字或日期。

像AND、OR和NOT这样的逻辑运算符也可以用于合并谓词。

SELECTcolumnname1,columnname2,?

FROMtablename

WHERE<

condition>

;

实验3-4要从雇员表中只显示那些在部门20工作的雇员,执行如下所示的语句:

图3-6

在谓词中可以有效使用的其他运算符还有:

1.IN运算符:

此运算符用于显式规定可以接受的值组。

实验3-5要只显示属于“CLERK”(办事员)或“MANAGER”(经理)的雇员,执行如下命令。

图3-7

另一方面,NOTIN运算符将返回与条件不匹配的行。

2.BETWEEN运算符:

此运算符与IN运算符相似,不过可以指定值的范围而不是匹配的值组。

实验3-6要只显示在“03-JAN-82”(1982年1月1日)和“33-DEC-87”(1987年12月31日)之间加入的雇员,请给出如下命令。

图3-8

NOTBETWEEN运算符将获取与条件不匹配的行。

3.LIKE运算符:

该运算符用于匹配字符串或字符串的一部分(称为子字符串)。

该运算符使用通配符扩展其字符串匹配功能。

有两种通配符与LIKE运算符一起使用:

Ø

下划线(_):

这表示任意单字符。

百分号(%):

这表示多字符的序列。

实验3-7要显示姓名以“J”开头的雇员,请给出如下命令。

图3-9

3.2.4查看汇总数据(使用统计函数)

GROUPBY子句根据字段值对行进行分组。

该子句在应用时将与聚合函数联合。

有时,也要求对已分组的查询进行条件检索。

可以使用“HAVING”子句对已分组查询进行条件检索。

“HAVING”子句与“WHERE”子句相似,只不过“WHERE”子句用于行,而“HAVING”子句用于已分组的结果。

SELECTcolumnname1,aggregate_function(columnname2)

GROUPBYcolumnname1;

实验3-8要从雇员表中显示付给经理的最高薪金,执行如下所示的语句:

图3-10

聚合函数通常与Groupby和Having子句一起使用。

要讨论的聚合函数是:

1.Count:

此函数对包括Null值的查询所返回的行数进行记数。

实验3-9要查找每个工作类别的人数,执行如下所示的语句:

图3-11

2.Max:

从查询返回的值中返回最大值。

3.Min:

从查询返回的值中返回最小值。

4.Avg:

用来确定某个列中出现的值的平均数。

5.Sum:

用来获取查询输出的行的算术和。

实验3-10要从雇员表中显示付给经理的最高、最低、平均和总薪金,执行如下所示的语句:

图3-12

3.2.5以指定顺序查看数据

ORDERBY子句可帮助按照希望出现的顺序检索查询。

可以通过指定DESC参数或ASC参数来按升序顺序或降序顺序进行排序。

如果没有指定任何参数,则默认为升序排序。

还可对多列进行排序。

ORDERBYcolumnname1,columnname2,…,columnnameN;

实验3-11要以雇员的工作的顺序显示收入大于或等于3000的雇员,执行如下所示的语句:

图3-13

3.2.6使用计算列查看数据

除了从数据库表中直接提取的列外,SQL还可以用于计算多个列中的数据的值。

可在查询中使用SQL表达式执行所有类型的算术操作。

唯一必须注意的是,这些表达式涉及的列应该只属于数字数据类型。

SELECTcolumnname1,(columnname2<

arithmeticoperator>

columnname3)

实验3-12要从雇员表中显示雇员总薪金,执行如下语句:

图3-14

注意:

在上面的命令中,NVL函数用来将空值转换为数字值,我们在此将其转换为“0”。

我们必须按任意表达式执行此操作,表达式中包含空值,因为操作数返回NULL。

因此,为避免在任何操作中出现这种错误,我们使用NVL函数。

3.3退出SQL

在SQL提示符下键入Exit(“退出”)或执行如下步骤:

✧从MainMenu(“主菜单”)中选择File(“文件”)选项。

✧单击Exit(“退出”)。

✧您也可以在命令提示符下输入“Exit”。

3.4实验练习:

在scott用户模式下,完成下查询需求,给出相关查询语句和运行结果:

(1)列出各种类别"

SALES"

工作的雇员的姓名,假定不知道销售部的部门编号.

(2)列出薪金高于公司平均水平的所有雇员.

(3)列出与"

SCOTT"

从事相同工作的所有雇员

(4)列出分配有雇员数量的所有部门的详细信息,即使是分配有0个雇员. 

(5)列出各种类别工作的最低工资.

(6)列出各个部门MANAGER的最低薪金.

(7)列出按计算的字段排序的所有雇员的年薪.

(8) 

选择部门30中的雇员。

(9)列出所有办事员的姓名、编号和部门。

(10)找出佣金高于薪金的雇员。

(11)找出佣金高于薪金60%的雇员。

(12)找出部门10中所有经理和部门20中所有办事员的详细资料。

(13)找出部门10中所有经理、部门20中所有办事员以及既不是经理又不是办事员但其薪金大于或等于2000的所有雇员的详细资料。

(14)找出不收取佣金或收取的佣金低于100的雇员。

(15)找出早于12年之前受雇的雇员。

(16)显示只有首字母大写的所有雇员的姓名。

(17)显示雇员的详细资料,按姓名排序。

(18)显示雇员姓名,根据其服务年限,将最老的雇员排在最前面。

(19)显示所有雇员的姓名、工作和薪金,按工作内的工作的降序顺序排序,同工作按薪金排序。

(20)显示姓名字段的任何位置包含“A”的所有雇员的姓名。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2