资料SQL语言Word文档格式.docx
- 文档编号:20175808
- 上传时间:2023-01-17
- 格式:DOCX
- 页数:53
- 大小:50.82KB
资料SQL语言Word文档格式.docx
《资料SQL语言Word文档格式.docx》由会员分享,可在线阅读,更多相关《资料SQL语言Word文档格式.docx(53页珍藏版)》请在冰豆网上搜索。
12
203
P30
销售处
公司大楼204室
17
204
P31
销售研究中心
公司大楼202室
202
P40
仓库管理处
公司仓库办公室
23
400
P50
运输管理处
公司车库办公室
26
500
⑵本公司职工(people)
姓名
性别
出生日期
工作日期
职业
工资
奖金
所在部门
peopcode
peopname
sex
birthday
workdate
job
salary
award
李铭棠
男
40/04/25
80/10/01
经理
200
2
周曙
女
62/07/15
62/10/20
办事员
157
周金海
45/08/21
81/10/20
处长
170
陈宝娟
51/06/17
85/07/12
科长
150
5
陈虹
57/05/10
86/07/19
计划员
120
顾为民
55/10/01
84/06/11
160
7
叶铭
60/08/08
86/02/08
记帐员
8
陈玉妹
62/02/11
88/05/06
110
郑文华
56/06/20
85/04/22
10
张明君
59/11/10
85/11/16
报销员
125
11
罗四明
58/12/30
沈晓华
53/09/28
82/12/15
180
13
吴志红
61/05/12
86/09/17
14
姚志邦
50/01/20
81/08/23
采购员
30
15
张浩
49/02/18
83/05/06
140
16
林光华
47/04/11
88/04/10
20
赵汉雄
45/05/13
83/02/18
18
史玲娟
63/08/27
87/11/14
19
王晨
52/06/05
82/01/05
推销员
姚国平
57/09/14
82/04/07
21
张宗恒
46/07/07
40
22
曹向群
55/12/16
王英泉
35/12/02
81/09/25
210
24
胡贤明
61/11/29
83/12/26
仓库管理员
25
林芳兵
58/04/06
黄伯尧
50/10/18
85/08/23
27
沈妙玉
57/04/20
81/08/05
小车驾驶员
28
黄金宝
56/08/22
81/08/21
卡车驾驶员
50
29
徐雪飞
60/09/10
70
⑶有业务联系的单位(co_unit)
单位名称
单位地址
联系人
传真
信誉
unitcode
unitname
relative
fax
credit
M001
西湖电线厂
天目山路89号
张涛
657368
A
M002
上海电器厂
浦江路19号
王群
9367543
B
M003
南京工具厂
南京路103号
张志强
M004
杭州标准件厂
秋涛路10号
王亚芳
351928
C001
国际百货大楼
延安路20号
陈可
C
C002
湖光五金商店
环城西路33号
黄燕红
493946
C003
保安电器商店
延安路80号
李立
C004
国际供销大厦
解放路93号
曹向东
296377
⑷物资库存(inventory)
物资名称
计量单位
计划价格
当前库存量
最近使用日期
goodscode
goodsname
measure
planprice
stock
lastupdate
WJM1
木螺丝4*10
盆
90/08/08
WJM2
木螺丝4*15
100
90/08/26
WJM3
木螺丝4*20
WGQ1
大号起子
把
WGQ2
中号起子
90/08/13
WGQ3
小号起子
WGL1
榔头0.25公斤
WGL2
榔头0.5公斤
89/02/23
WG01
组合工具包
只
90/07/15
DZ31
三相插座
个
0.8
90/08/21
DZ32
三相插头
0.6
DZ21
二相插座
300
DZ22
二相插头
0.5
DZ01
多用插座
1.9
700
90/06/18
DXT1
铜电线0.5mm
米
1000
铜电线1.0mm
3.75
2000
DXT9
同轴电缆
600
DXT8
铜丝
圈
89/08/16
⑸物资入库(goodsinput)(假定一张入库单只有一种物资入库)
入库单编号
入库日期
物资编号
入库数量
采购员编号
验收员编号
inputcode
inputdate
quantity
purcher
getpeople
90080301
03-AUG-90
90081101
11-AUG-90
90081501
15-AUG-90
90082501
25-AUG-90
⑹提货单(out_head)(假定一张提货单可提多项物资)
提货单编号
提货日期
顾客编号
总金额
推销员编号
发货员编号
head_code
out_date
custcode
total
salesman
shipper
90080801
08-AUG-90
1900
90081301
13-AUG-90
4800
90082101
21-AUG-90
325
90082601
26-AUG-90
1355
⑺提货项目(out_item)
数量
实际价格
actualprice
DXT2
.8
.6
1.85
2.9
.5
12.1
二、数据查询
查询就是从数据库中提取数据,它与检索具有相同的含义,是最为普通的一种数据库操作。
本节详细描述用来查询数据库中信息的命令——SELECT命令。
用SELECT命令可以:
●选择查询的表
●选择表中的列
●选择表中的行
●控制行的显示顺序
●分组统计
●从多个表中检索信息
●选择组
(一)选择表中的列
在ORACLE数据库中,数据是按表的形式组织的,所以在查询语句中必须规定数据取自的那个表。
最简单的查询语句有如下的形式:
SELECT希望检索的列名
FROM包含上述列的表名;
1、选择表中若干列
在SELECT语句中可以规定表中所要显示的一列或若干列。
例1:
显示department表中的deptcode列、deptname列和address列
SELECTdeptcode,deptname,address
FROMdepartment;
结果为:
2、选择表中所有的列
若要显示表中所有的列,可以在SELECT命令中写出每列的名字,但对一个列很多的表来说,输入所有的列名是件很麻烦的事。
有一个简单的方法,用输入一个星号(*)来代替全体列名清单,就可显示表的所有列。
例2:
显示department表的所有列
SELECT*FROMdepartment;
3、控制列的显示顺序
列的显示顺序是由SELECT命令中的列名的顺序决定的,与表中定义时各列的顺序无关。
例如,如果输入SELECTdeptcode,deptnameFROMdepartment,则deptcode列显示在第一列,deptname列显示在第二列;
而如果输入SELECTdeptname,deptcodeFROMdepartment,则deptname列显示在第一列,deptcode列显示在第二列。
当使用星号(*)来选择表中所有列时,列的显示顺序是按建表时的顺序。
若要使显示顺序与规定的顺序不同,则必须依次地输入所有的列名,而不能使用星号(*)。
4、使用表达式列:
在SELECT语句中,不仅可以规定希望显示的列,还可以显示表达式。
最简单的表达式是常量。
例3:
显示当前的系统日期
SELECTsysdateFROMdual;
在这儿,sysdate是系统日期,dual是亚表。
例4:
显示每一种库存物资目前所占用的库存资金。
SELECTgoodsname,planprice*stock
FROMinventory;
例5:
在查询结果中增加字符常量来解释查询的内容。
SELECTdeptname,'
的地址是:
'
,address
FROMdepartment;
5、使用列的别名
当显示查询结果时,通常SQL*Plus用选出来的列名作为列标题显示。
可是这些列名有时很短,并且含义模糊不清。
我们可以通过列名后输入一个别名的方法,来改变查询结果中的列标题。
例6:
在显示列名时采用别名(在select子句中采用别名)
SELECTdeptcode,deptnamedepartment_name
在引用冗长的、难理解的表达式和函数时,别名对于结果的显示尤其有用。
例7:
对于表达式Planpcice*stock,采用stock_money作为标题
SELECTgoodsname,planprice*stockstock_money
(二)选择表中的行
若想查询表中的某些行(这是经常发生的,因为用户常常只是关心与之有关的数据),可以在SELECT语句中使用WHERE子句给出查询的条件。
WHERE子句必须跟在FROM子句后面,形式如下:
SELECT要检索的列名
FROM包含上述列的表名
WHERE行所需要满足的条件;
带有WHERE子句的SELECT命令只显示那些满足查询条件的行,如果没有WHERE子句,则显示所有的行。
1.如何在WHERE子句中规定查询条件
WHERE子句中的查询条件常常是逻辑表达式,它是由逻辑运算符连接的一系列关系表达式(最简单的逻辑表达式只有一个关系表达式),最常见的关系表达式由三个参数组成,其形式如下:
<
列名>
<
比较运算符>
{<
|<
常量>
表达式>
}
在使用某些比较运算符时,表达式略有差别,这将在例子中说明。
字符串常量或日期常量要用一对单引号括起来。
在这里,列名就像通常的关系表达式中的变量那样地使用,当然在使用时也要注意它的变量类型。
根据实际需要把多个关系表达式用逻辑运算符(not,and,or)连接起来,形成一个复合的逻辑表达式,数据库管理系统将把整个逻辑表达式为真的所有行取出。
下面我仍给出一些例子,以说明如何在WHERE子句中规定查询条件:
1、简单和条件查询
例8:
列出在“P20”部门工作的所有职员的信息,
SELECT*FROMpeople
WHEREdeptcode='
P20'
;
82/02/15
50/06/20
例9:
列出工资大于170.00元的职工的信息,
SELECT*FROMpeople
WHEREsalary>
170;
例10:
列出工资在140.00元和160.00元之间的职工信息。
WHERESalarybetween140and160;
例11:
列出其职务是处长或是经理的职员,
WHEREjobin('
经理'
,'
处长'
);
例12:
列出不在P00部门工作的所有办事员,
SELECT*FRIMpeople
WHERE(job='
办事员'
)and(deptcode!
='
P00'
例13:
列出有奖金并且在88年1月1日前参加工作的人员,
SELECT*FROMpeople
WHERE(awardisnotnull)and(workdate<
01-JAN-88'
例14:
列出职务是处长,或工资和奖金之和大于190.00元的职工,
SHERE(job='
处长)orsalary+nvl(award,0)>
190;
例15:
列出除经理。
处长以外的工资大于150.00元的所有职工,
WHEREnot(job='
orjob='
)
andsalary>
150;
2、匹配查询
有时用户并不精确地知道需要查询的条件(例如可能忘了某个人的名字,但却还记得他的姓)或确要查询某一类客体(例如要查询所有处的信息)时,可以使用匹配查询(也可称为模糊查询)。
SQL中使用两个匹配符:
(1)百分号(%):
匹配零个或多个字符序列
(2)下划线(_):
只匹配单个字符
在匹配查询中,比较运算符用like。
下面给出几个匹配查询的例子:
例16:
列出所有姓张的职工,
WHEREpeopnamelike'
张%'
例17:
列出公司中除处级单位以外所有部门的信息,
SELECT*FROMdepartment
2SHEREdeptnamenotlike'
%处'
例18:
列出公司中所有单姓单名的职工,
__'
3、防止选择重复行
一般来说,SQL将会把所选择到的行全部显示出来,即使有些行的内容完全一样。
例19:
要显示people表中的所有职务,输入以
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 资料 SQL语言 SQL 语言