《数据库应用与设计》实验报告~_第1页
《数据库应用与设计》实验报告~_第2页
《数据库应用与设计》实验报告~_第3页
《数据库应用与设计》实验报告~_第4页
《数据库应用与设计》实验报告~_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库应用与设计实验报告实验1实验9 学 院 管理学院 专 业 电子商务 年级班别 2013级1班 学 号 3113004762 学生姓名 吴孙德 指导教师 胡 凤 成 绩 目录实验1 建立数据库1实验2 建立表和定义完整性约束6实验3 数据库操作和完整性约束的作用10实验4 数据的查询19实验5 视图的应用42实验6 游标51实验7 存储过程53实验8 触发器56实验9 用户管理和权限管理59实验1  建立数据库 实验名称:建立数据库 实验内容:在SQL Server环境下建立数据库和维护数据库。 实验目的:理解SQL Server

2、数据库的存储结构,掌握SQL Server数据库的建立方法和维护方法。 实验方法:在SQL Server环境下用CREATE DATABASE命令建立数据库(注意:需要是系统管理员用户,或者被指定dbcreator固定服务器角色的成员,或者被显式地授予CREATE DATABASE权限,有关权限的内容请课文5.2节)实验要求: 1、 根据上体要求创建如下3个数据库: (1) 创建数据库test1(使用一个数据文件和一个日志文件),要求指定一个数据文件、一个事务日志文件,并把它们安排在不同的硬盘上。

3、0;(2) 创建数据库test2(使用多个数据文件和多个日志文件),要求使用3个数据文件和两个事务日志文件,主数据文件是列表中的第一个文件或者用关键字PRIMARY指定(文件扩展名:主数据文件使用.mdf,次数据文件使用.ndf,事务日志文件使用.ldf)。(3) 创建数据库test3(使用文件组),要求使用3个文件组(含主文件组,默认的文件组),每个文件组包含两个数据文件,并且每个文件组要安排在不同的硬盘上。 2、 修改建立的test1数据库,为之添加一个5MB大小的新数据文件。3、 修改建立的test2数据库,将其中的主数据文件增加5MB的

4、存储空间。4、 删除建立的数据库test1。实验操作:1、 根据上体要求创建如下3个数据库: (1) 创建数据库test1(使用一个数据文件和一个日志文件),要求指定一个数据文件、一个事务日志文件,并把它们安排在不同的硬盘上。create database test1 on(name=test,filename='e:test.mdf',size=10,maxsize=50,filegrowth=5)log on(name=test_log,filename='f:test.ldf',size=5mb,maxsize=25

5、mb,filegrowth=5mb) (2) 创建数据库test2(使用多个数据文件和多个日志文件),要求使用3个数据文件和两个事务日志文件,主数据文件是列表中的第一个文件或者用关键字PRIMARY指定(文件扩展名:主数据文件使用.mdf,次数据文件使用.ndf,事务日志文件使用.ldf)。 create database test2 onprimary (name=t1,filename='e:a1.mdf',size=10,maxsize=50,filegrowth=5),(name=t2,filename='e:a2.ndf'

6、,size=10,maxsize=50,filegrowth=5),(name=t3,filename='e:a3.ndf',size=10,maxsize=50,filegrowth=5)log on(name=t1_log,filename='e:a1.ldf',size=5mb,maxsize=25mb,filegrowth=5mb),(name=t2_log,filename='e:a2.ldf',size=5mb,maxsize=25mb,filegrowth=5mb)(3) 创建数据库test3(使用文件组),要求使用3个文

7、件组(含主文件组,默认的文件组),每个文件组包含两个数据文件,并且每个文件组要安排在不同的硬盘上。 create database test3 onprimary (name=te0,filename='f:b0.mdf',size=10,maxsize=50,filegrowth=5),filegroup fg1 (name=te1,filename='f:b1.mdf',size=10,maxsize=50,filegrowth=5),(name=te2,filename='f:b2.ndf',size=10,maxsize=50,

8、filegrowth=5),filegroup fg2 (name=te3,filename='f:b3.ndf',size=10,maxsize=50,filegrowth=5),(name=te4,filename='f:b4.ndf',size=10,maxsize=50,filegrowth=5),filegroup fg3 (name=te5,filename='f:b5.ndf',size=10,maxsize=50,filegrowth=5),(name=te6,filename='f:b6.ndf',size=10

9、,maxsize=50,filegrowth=5)2、 修改建立的test1数据库,为之添加一个5MB大小的新数据文件。alter database test1add file(name=test1,filename='f:test1.ndf',size=5mb,maxsize=50,filegrowth=5)3、 修改建立的test2数据库,将其中的主数据文件增加5MB的存储空间。alter database test2modify file(name=t1,filename='e:a1.mdf',size=15,maxsize=55,fi

10、legrowth=10)4、 删除建立的数据库test1。drop database test1实验2 建立表和定义完整性约束 实验名称:建立模式、表和定义完整性约束 实验内容:在实验一建立的数据库的基础上,参照下图和下表建立表并定义完整性约束。表名字段名字段类型关键字约束说明仓库仓库号6个字符是前2位为英文大写字母,后4位为数字字符城市10个字符唯一,不允许空值面积数值大于等于50职工职工号8个字符是前2位为英文大写字母,后6位为数字字符仓库号参照仓库表的仓库号工资货币大于等于1000,小于等于10000供应商供应商号4个字符是首位为大写字母S,后3位

11、为数字字符供应商名16个字符地址30个字符订购单职工号参照职工表的职工号,不允许空值供应商号参照供应商表的供应商号,允许空值订购单号6个字符是前2位为英文大写字母OR,后4位数字字符订购日期日期默认是当前日期金额货币默认空值订购单明细订购单号是参照订购单表的订购单号,不允许空值序号2位数字是产品名称20个字符单价货价大于0,默认空值数量整数大于0,不允许空值实验目的:熟练掌握表的建立和数据完整性速描定义方法,实践DBMS提供的数据完整性功能,加深对数据完整性的理解。 实验方法:在实验一建立数据库的基础上用CREATE SCHEMA命令建立模式,用CREATE TA

12、BLE命令建立表并定义数据完整性约束(注意:需要有CREATE SCHEMA和CREATE TABLE的权限,或者其他具有相应权限的身份,有关权限的内容请参见课文5.2节),用ALTER TABLE命令修改表结构。 实验要求: 1、 用CREATE SCHEMA命令建立模式(自己命名模式名称)。 create database 实验create schema wusunde2、 在定义的模式下参照图1和表1使用CREATE TABLE命令建立表并定义完整性约束。create table wusu

13、nde.仓库(仓库号 char(6) primary key check(仓库号 like 'A-ZA-Z0-90-90-90-9'), 城市 char(10) unique not null, 面积 int check(面积>=50)create table wusunde.职工(职工号 char(8) primary key check(职工号 like 'A-ZA-Z0-90-90-90-90-90-9'), 仓库号 char(6) constraint ck foreign key references wusunde.仓库(仓库号), 工资 mo

14、ney check(工资>=1000 and 工资<=10000)create table wusunde.供应商(供应商号 char(4) primary key check(供应商号 like 'S0-90-90-9'), 供应商名 char(16), 地址 char(30)create table wusunde.订购单(职工号 char(8) not null foreign key references wusunde.职工(职工号), 供应商号 char(4) null constraint supply foreign key references w

15、usunde.供应商(供应商号) on delete set null, 订购单号 char(6) primary key check(订购单号 like 'OR0-90-90-90-9'), 订购日期 datetime default getdate(), 金额 money default null)create table wusunde.订购单明细(订购单号 char(6) not null foreign key references wusunde.订购单(订购单号), 序号 char(2), 产品名称 char(20), 单价 money default null

16、check(单价>0), 数量 int not null check(数量>0), primary key(订购单号,序号) 3、 使用ALTER TABLE命令按如下要求修改表结构: (1) 为订购单增加一个新的字段“完成日期”,类型为日期时间型,默认是空值。alter table wusunde.订购单add 完成日期 datetime default null(2) 为订单明细表的“数量”字段重新定义约束:大于0、小于等于1000的正整数,不允许为空值。alter table wusunde.订购单明细add check(数量

17、 between 0 and 1000)alter table wusunde.订购单明细alter column 数量 int not null (3) 将供应商表的供应商名字段的类型修改为varchar(30)。alter table wusunde.供应商alter column 供应商名 varchar(30)实验3 数据操作和完整性约束的作用 实验名称:数据操作笔完整性约束的作用 实验内容:在实验二的基础上完成数据的插入操作,然后进行部分修改和删除操作,在这些操作中体会数据完整性约束的作用。 实验目的:熟练掌握SQL的INSERT,U

18、PDATE和DELETE命令,深刻理解数据完整性约束的作用以及约束时机。 实验方法:在实验二的基础上首先用INSERT命令插入各个表的记录,然后使用UPDATE和DELETE命令对部分记录进行修改和删除操作。 实验要求: 1、 自行设计各个表的记录,其中仓库表至少5条记录,职工表至少10条记录、供应商表至少5条记录,订购单表至少20条记录,订购单明细表至少50条记录。2、 使用INSERT命令完成记录的插入操作,要求分别设计若干违反实体完整性、参照完整性和用户定义完整性约束的插入操作,并分析原因。 3、 设计若干删除操作,体

19、会执行删除操作时检查参照完整性规则的效果(要求涉及拒绝删除、空值删除和级联删除等不同的处理方式)。 4、 设计若干更新操作,体会执行更新操作时检查实体完整性规则、参照完整性规则和用户定义完整性规则的效果。 5、 将x城市仓库的职工的工资提高10%。 6、 用UPDATE语句完成订购单表金额字段的计算(提示:某张订购单的金额为该订购单所有订购项目(订购单明细)单价乘以数量的总和)。 7、 设计23个删除操作,它需要另外一个表中的数据作为删除条件(例如,按指定的供应商名称删除订购单记录)。 8、 在

20、实验报告中给出具体的记录和设计的操作,并针对各种数据完整性检查,给出具体的分析和讨论。实验操作:1、分别设计仓库表5条记录,职工表10条记录、供应商表5条记录,订购单表20条记录,订购单明细表50条记录。insert into wusunde.仓库 values('QW0001','广州',500)insert into wusunde.仓库 values('QW0002','上海',900)insert into wusunde.仓库 values('QW0003','北京',250)insert

21、 into wusunde.仓库 values('QW0004','纽约',1000)insert into wusunde.仓库 values('QW0005','深圳',650)insert into wusunde.职工 values('ZG000001','QW0005',3000)insert into wusunde.职工 values('ZG000002','QW0001',5600)insert into wusunde.职工 values('

22、ZG000003','QW0004',6600)insert into wusunde.职工 values('ZG000004','QW0002',3800)insert into wusunde.职工 values('ZG000005','QW0005',3900)insert into wusunde.职工 values('ZG000006','QW0001',4600)insert into wusunde.职工 values('ZG000007',&#

23、39;QW0003',4000)insert into wusunde.职工 values('ZG000008','QW0003',5000)insert into wusunde.职工 values('ZG000009','QW0002',4800)insert into wusunde.职工 values('ZG000010','QW0004',6000)insert into wusunde.供应商 values('S001','华广','深圳&

24、#39;)insert into wusunde.供应商 values('S002','广工','广州')insert into wusunde.供应商 values('S003','美的','茂名')insert into wusunde.供应商 values('S004','乐视','深圳')insert into wusunde.供应商 values('S005','康佳','广州')insert

25、into wusunde.订购单 values('ZG000007','S005','OR0001','2015-1-6',5000,'2015-2-5')insert into wusunde.订购单 values('ZG000002','S001','OR0002','2015-2-3',10000,'2015-3-4')insert into wusunde.订购单 values('ZG000003','S

26、004','OR0003','2015-2-17',3000,'2015-5-16')insert into wusunde.订购单 values('ZG000006','S002','OR0004','2015-2-16',9000,'2015-4-18')insert into wusunde.订购单 values('ZG000010','S005','OR0005','2015-3-20',

27、8000,'2015-6-27')insert into wusunde.订购单 values('ZG000001','S001','OR0006','2015-3-22',7500,'2015-7-29')insert into wusunde.订购单 values('ZG000006','S003','OR0021','2015-2-15',4600,'2015-10-13')insert into wusunde.

28、订购单 values('ZG000004','S002','OR0007','2015-2-23',8500,'2015-8-29')insert into wusunde.订购单 values('ZG000003','S005','OR0008','2015-1-5',3600,'2015-11-11')insert into wusunde.订购单 values('ZG000001','S004',&

29、#39;OR0009','2015-1-31',7600,'2015-12-14')insert into wusunde.订购单 values('ZG000007','S001','OR0010','2015-3-25',12000,'2015-7-30')insert into wusunde.订购单 values('ZG000008','S002','OR0011','2015-2-26',4600,

30、9;2015-9-27')insert into wusunde.订购单 values('ZG000010','S002','OR0012','2015-1-28',3400,'2015-11-21')insert into wusunde.订购单 values('ZG000009','S004','OR0013','2015-3-19',2300,'2015-10-24')insert into wusunde.订购单 val

31、ues('ZG000007','S005','OR0014','2015-2-23',9000,'2015-9-21')insert into wusunde.订购单 values('ZG000008','S003','OR0015','2015-2-27',6400,'2015-12-23')insert into wusunde.订购单 values('ZG000002','S001','OR

32、0016','2015-1-30',7900,'2015-6-30')insert into wusunde.订购单 values('ZG000005','S004','OR0017','2015-1-27',20000,'2015-8-18')insert into wusunde.订购单 values('ZG000009','S004','OR0018','2015-3-5',13000,'2015-

33、7-31')insert into wusunde.订购单 values('ZG000004','S002','OR0019','2015-3-14',7000,'2015-6-17')insert into wusunde.订购单 values('ZG000006','S005','OR0020','2015-2-21',4300,'2015-5-25')insert into wusunde.订购单明细 values(

34、9;OR0020','01','沐浴露',32,240)insert into wusunde.订购单明细 values('OR0001','02','洗衣粉',30,125)insert into wusunde.订购单明细 values('OR0012','03','洗衣液',39,59)insert into wusunde.订购单明细 values('OR0014','04','香皂',14,99)ins

35、ert into wusunde.订购单明细 values('OR0004','05','盐',2,169)insert into wusunde.订购单明细 values('OR0005','06','酱油',14,65)insert into wusunde.订购单明细 values('OR0011','07','化妆品',26,24)insert into wusunde.订购单明细 values('OR0019','08

36、','洗面奶',39,68)insert into wusunde.订购单明细 values('OR0008','09','面膜',5,147)insert into wusunde.订购单明细 values('OR0003','10','花生油',36,258)insert into wusunde.订购单明细 values('OR0017','11','鼠标',69,72)insert into wusunde.订购单明细

37、values('OR0015','12','鼠标垫',18,64)insert into wusunde.订购单明细 values('OR0016','13','移动电源',58,69)insert into wusunde.订购单明细 values('OR0012','14','插座',37,169)insert into wusunde.订购单明细 values('OR0011','15','牛奶',

38、72,111)insert into wusunde.订购单明细 values('OR0020','16','洗洁精',9,114)insert into wusunde.订购单明细 values('OR0019','17','洁厕液',6,300)insert into wusunde.订购单明细 values('OR0010','18','鸡蛋',14,124)insert into wusunde.订购单明细 values('OR0009

39、','19','牛肉',38,300)insert into wusunde.订购单明细 values('OR0016','20','内裤',59,654)insert into wusunde.订购单明细 values('OR0018','21','鞋子',299,300)insert into wusunde.订购单明细 values('OR0015','22','手表',890,34)insert into

40、 wusunde.订购单明细 values('OR0005','23','钱包',129,124)insert into wusunde.订购单明细 values('OR0008','24','行李箱',344,64)insert into wusunde.订购单明细 values('OR0014','25','手袋',3,874)insert into wusunde.订购单明细 values('OR0018','26'

41、;,'篮球',360,59)insert into wusunde.订购单明细 values('OR0003','27','足球',260,36)insert into wusunde.订购单明细 values('OR0005','28','羽毛球拍',78,69)insert into wusunde.订购单明细 values('OR0007','29','乒乓球拍',89,145)insert into wusunde.订购单明细

42、values('OR0020','30','羽毛球',5,645)insert into wusunde.订购单明细 values('OR0013','31','乒乓球',3,542)insert into wusunde.订购单明细 values('OR0016','32','牙膏',23,200)insert into wusunde.订购单明细 values('OR0009','33','牙刷',6

43、,456)insert into wusunde.订购单明细 values('OR0019','34','防晒霜',56,65)insert into wusunde.订购单明细 values('OR0017','35','水杯',39,1187)insert into wusunde.订购单明细 values('OR0010','36','拖把',15,187)insert into wusunde.订购单明细 values('OR0004&

44、#39;,'37','扫把',6,200)insert into wusunde.订购单明细 values('OR0005','38','垃圾桶',16,254)insert into wusunde.订购单明细 values('OR0006','39','书',46,688)insert into wusunde.订购单明细 values('OR0016','40','卫生纸',13,500)insert into w

45、usunde.订购单明细 values('OR0020','41','相机',3698,32)insert into wusunde.订购单明细 values('OR0013','42','手机',2000,200)insert into wusunde.订购单明细 values('OR0017','43','音响',500,143)insert into wusunde.订购单明细 values('OR0001','44

46、9;,'吸尘器',1688,40)insert into wusunde.订购单明细 values('OR0012','45','油烟机',3500,10)insert into wusunde.订购单明细 values('OR0010','46','台式电脑',4000,25)insert into wusunde.订购单明细 values('OR0013','47','空调',50,230)insert into wusunde.订

47、购单明细 values('OR0005','48','电视机',1300,100)insert into wusunde.订购单明细 values('OR0016','49','洗衣机',3400,15)insert into wusunde.订购单明细 values('OR0011','50','笔记本',6000,20)2、 使用INSERT命令完成记录的插入操作,要求分别设计若干违反实体完整性、参照完整性和用户定义完整性约束的插入操作,

48、并分析原因。1)违反实体完整性 insert into wusunde.仓库 values('QW0001','惠州',600) 原因:违反了PRIMARY KEY 约束'PK_仓库_530C599C7F60ED59'。不能在对象'wusunde.仓库' 中插入重复键。语句已终止。2)违反参照完整性insert into wusunde.职工 values('ZG000011','QW0009',3000)原因:仓库号列参照仓库表的仓库号,此时在仓库表中找不到仓库号为QW0009的仓库。INSERT

49、 语句与FOREIGN KEY 约束"FK_职工_仓库号_0AD2A005"冲突。该冲突发生于数据库"实验",表"wusunde.仓库", column '仓库号'。3)违反用户定义完整性insert into wusunde.仓库 values('QW0006','天津',30)原因:在定义时,面积要大于等于50,这里面积为30,明显违反了用户定义完整性3、 设计若干删除操作,体会执行删除操作时检查参照完整性规则的效果(要求涉及拒绝删除、空值删除和级联删除等不同的处理方式)。

50、 1)拒绝删除delete wusunde.仓库 where 城市='北京'删除操作失败。因为有职工参照了干记录2)空值删除delete wusunde.供应商 where 供应商号='S002'因为删除参照完整性规则定义为set null3)级联删除alter table wusunde.职工drop constraint ckalter table wusunde.职工drop column 仓库号alter table wusunde.职工add 仓库号 char(6)constraint ck foreign key references wu

51、sunde.仓库on delete cascadeon update cascade 4、 设计若干更新操作,体会执行更新操作时检查实体完整性规则、参照完整性规则和用户定义完整性规则的效果。 1)违反参照完整性update wusunde.职工 set 仓库号='QW0006' where 职工号='ZG000002'更新操作失败,因为职工表所参考的仓库表中不存在仓库号为QW0006的仓库。2)违反实体完整性update wusunde.仓库 set 仓库号=null where 仓库号='QW0001'更新操作失败,因为仓库

52、号是关键字,不能为空。3) 更新违反自定义完整性update wusunde.仓库 set 面积=30 where 仓库号='QW0001'更新操作失败,因为面积被定义约束大于或等于50,此处面积=30,显然违反了约束。5、 将x城市仓库的职工的工资提高10%。 update wusunde.职工 set 工资=(工资+(工资*0.1)6、 用UPDATE语句完成订购单表金额字段的计算(提示:某张订购单的金额为该订购单所有订购项目(订购单明细)单价乘以数量的总和)。 update wusunde.订购单 set 金额=(select SU

53、M(单价*数量) from wusunde.订购单明细 where 订购单明细.订购单号=订购单.订购单号)7、 设计23个删除操作,它需要另外一个表中的数据作为删除条件(例如,按指定的供应商名称删除订购单记录)1)delete wusunde.职工 where 仓库号 in (select 仓库号 from wusunde.仓库 where 城市='北京')2)delete wusunde.订购单 where 供应商号 in (select 供应商号 from wusunde.供应商 where 供应商名='广工')实验4 数据查询

54、0;实验名称:使用SQL SELECT语句的数据查询操作。 实验内容:在实验2和实验3的基础上完成规定的查询操作。 实验目的:熟练掌握SQL SELECT命令。 实验方法:在实验2和实验3的基础上使用SQL SELECT命令完成实验要求中所规定的各种查询。 实验要求: 用SQL SELECT命令完成以下查询(在完成查询时将题目中的x,y等根据实验三产生的数据具体化): (1)(12)是一般简单查询: 1.职工表查询所有工资值(考虑去掉和不去掉重复值两种情况)。 2.查询仓库表

55、中的全部信息。 3.查询工资多于x元的职工号。 4.查询哪些仓库有工资多于y元的职工。 5.给出在仓库x或y(x,y是仓库号)工作,并且工资少于z元的职工号。 6.查询工资在xy元范围内的职工信息(x>y)。 7.从供应商表中查询出全部公司的信息(不要工厂或其他供应商的信息,即供应商名最后两个汉字是“公司”的记录)。 8.查询城市不是x的全部仓库信息。 9.查询尚未确定供应商的订购单(即订购单的供应商号为空值的记录)。 10.查询已经确定了供应商的订购单信息。 11.按职工的工资值升序列出全部职工信

56、息。 12.先按仓库号升序,再按工资降序列出全部职工信息。  (13)(21)使用连接查询: 13.查询工资多于x元的职工号和他们所在的城市。 14.查询工作在面积大于x的仓库的职工号以及这些职工工作所在的城市。 15.根据职工表列出上一级经理及其职工(被其领导)的清单(即列出谁领导谁的清单)。 16.列出仓库表和职工表的广义笛卡儿积的去处结果。 17.根据仓库表和职工表的广义笛卡儿积得到仓库表和职工表进行自然连接的结果。 18.查询供应商订购单信息,查询结果中包括供应商号、供应商名、订购单号和订购日期这

57、4个字段。 19.查询供应商订购单信息,查询结果中包括供应商号、供应商名、订购单号和订购日期这4个字段,要求结果中列出所有供应商信息(包括目前没有订购单的)。 20.查询供应商订购单信息,查询结果中包括供应商号、供应商名、订购单号和订购日期这4个字段,要求结果中能够反映目前没有确定供应商的订购单情况。 21.查询供应商订购单信息,查询结果中包括供应商号、供应商名、订购单号和订购日期这4个字段,要求结果即能反映目前没有订购半日的供应商信息,又能反映目前没有确定供应商的订购单情况。 提示:(18)(21)分别用内连接、左连接、右连接和全连接完成,分析它们的效

58、果。  (22)(31)使用嵌套查询(注意使用ANY,ALL和EXISTS): 22.查询哪些城市至少有一个仓库的职工的工资为x元。 23.查询所有职工的工资都多于x元的仓库的信息。24.查询和职工x挣同样工资的所有职工信息。 25.查询哪些城市的仓库向地址为x的供应商发出了订购单。 26.查询地址为x的供应商目前有y城市仓库的订购单的供应商的名称(分别用嵌套查询和连接查询完成,分析各自的效率)。 27.查询有职工的工资大于或等于x仓库中任何一名职工的工资的仓库号。 28.查询有职工的工资大于或等于x仓库中所有职工

59、的工资的仓库号。 29.列出每人职工经手的具有最高金额的订购单信息。 30.查询目前还没有职工的仓库的信息。31.查询目前至少有一个职工的仓库的信息。  (32)(42)汇总和分组查询: 32.查询目前仓库所在城市的数目。 33.查询目前需要支付的职工工资的总数。 34.查询x和y两个城市的仓库职工的工资总和。 35.查询所有职工的工资都多于x元的仓库的平均面积。 36.查询工资大于x元的职工所经手的订购单的最高金额。 37.查询每个仓库的职工的平均工资。 38.查询每个仓库的订购单的

60、最高金额、最低金额和平均金额。 39.查询至少有5个订购项目的每张订购单的平均金额。 40.列出职工全部记录并计算各仓库的平均工资和工资小计,最后给出全体职工的平均工资和工资总和(使用COMPUTEBY和COMPUTE)。 41.列出全部订购单明细并计算各订购单的金额,最后给出所有订购单的平均金额和金额总计(使用COMPUTEBY和COMPUTE)。 42.列出全部订购单记录并计算所有订购单的平均金额和金额总计(使用COMPUTE)实验操作: 1.职工表查询所有工资值(考虑去掉和不去掉重复值两种情况)。 select distinct

61、 工资 from wusunde.职工(去掉重复值)select all 工资 from wusunde.职工(不去掉重复)2.查询仓库表中的全部信息。 select * from wusunde.仓库3.查询工资多于x元的职工号。 select 职工号 from wusunde.职工 where 工资>50004.查询哪些仓库有工资多于y元的职工。 select * from wusunde.仓库 where 仓库号 in(select 仓库号 from wusunde.职工 where 工资>5000)5.给出在仓库x或y(x,y是仓库号)工作,并

62、且工资少于z元的职工号。select 职工号 from wusunde.职工 where 仓库号 in ('QW0005','QW0002') and 工资<50006.查询工资在xy元范围内的职工信息(x>y)。 select * from wusunde.职工 where 工资 between 3000 and 50007.从供应商表中查询出全部公司的信息(不要工厂或其他供应商的信息,即供应商名最后两个汉字是“公司”的记录)。 select * from wusunde.供应商 where 供应商名 like '%公司

63、'8.查询城市不是x的全部仓库信息。 select * from wusunde.仓库 where 城市!='北京'9.查询尚未确定供应商的订购单(即订购单的供应商号为空值的记录)。select * from wusunde.订购单 where 供应商号 is null 10.查询已经确定了供应商的订购单信息。 select * from wusunde.订购单 where 供应商号 is not null11.按职工的工资值升序列出全部职工信息。 select * from wusunde.职工 order by 工资 ASC1

64、2.先按仓库号升序,再按工资降序列出全部职工信息。  select * from wusunde.职工 order by 仓库号 ASC,工资 DESC13.查询工资多于x元的职工号和他们所在的城市。 select 职工号,城市 from wusunde.职工 join wusunde.仓库 on 职工.仓库号=仓库.仓库号 where 工资>600014.查询工作在面积大于x的仓库的职工号以及这些职工工作所在的城市。 select 职工号,城市 from wusunde.职工 join wusunde.仓库 on 职工.仓库号=仓库.仓库号 wh

65、ere 面积>70015.根据职工表列出上一级经理及其职工(被其领导)的清单(即列出谁领导谁的清单)。略 16.列出仓库表和职工表的广义笛卡儿积的去处结果。 select * from wusunde.仓库 cross join wusunde.职工17.根据仓库表和职工表的广义笛卡儿积得到仓库表和职工表进行自然连接的结果。 select * from wusunde.仓库 cross join wusunde.职工where 仓库.仓库号=职工.仓库号18.查询供应商订购单信息,查询结果中包括供应商号、供应商名、订购单号和订购日期这4个字段。 s

66、elect 供应商.供应商号,供应商名,订购单号,订购日期 from wusunde.供应商 join wusunde.订购单on 供应商.供应商号=订购单.供应商号19.查询供应商订购单信息,查询结果中包括供应商号、供应商名、订购单号和订购日期这4个字段,要求结果中列出所有供应商信息(包括目前没有订购单的)。 select 供应商.供应商号,供应商名,订购单号,订购日期 from wusunde.供应商 left join wusunde.订购单on 供应商.供应商号=订购单.供应商号20.查询供应商订购单信息,查询结果中包括供应商号、供应商名、订购单号和订购日期这4个字段,要求结

67、果中能够反映目前没有确定供应商的订购单情况。 select 供应商.供应商号,供应商名,订购单号,订购日期 from wusunde.供应商 right join wusunde.订购单 on 供应商.供应商号=订购单.供应商号21.查询供应商订购单信息,查询结果中包括供应商号、供应商名、订购单号和订购日期这4个字段,要求结果即能反映目前没有订购半日的供应商信息,又能反映目前没有确定供应商的订购单情况。 select 供应商.供应商号,供应商名,订购单号,订购日期 from wusunde.供应商 full join wusunde.订购单 on 供应商.供应商号=订购单.供应商号22.查询哪些城市至少有一个仓库的职工的工资为x元。 select 城市 from wusunde.仓库 where 仓库号

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论