数据库实验报告模版.docx
- 文档编号:4632602
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:13
- 大小:147.77KB
数据库实验报告模版.docx
《数据库实验报告模版.docx》由会员分享,可在线阅读,更多相关《数据库实验报告模版.docx(13页珍藏版)》请在冰豆网上搜索。
数据库实验报告模版
学生实验报告
学院:
软件与通信管理学院
课程名称:
数据库系统原理
专业班级:
软件125班
姓名:
吴灏
学号:
0123734
学生实验报告
(二)
学生姓名
吴灏
学号
0123734
同组人:
实验项目
交互式sql
■必修□选修
□演示性实验□验证性实验■操作性实验□综合性实验
实验地点
W201
实验仪器台号
指导教师
边海容
实验日期及节次
3月18日5.6节
3月25日5.6节
4月1日5.6节
一、实验综述
1、实验目的及要求
目的:
1)熟悉SQLSERVERdatamanagementstudio的使用。
2)掌握建立表和基本约束性条件的SQL语句语法。
3)理解SELECT语句的操作和基本使用方法。
4)理解JOIN语句的操作和基本使用方法,掌握内连接、外连接、自身连接的概念和使用
5)掌握使用SQL语句删除和修改数据的方法
6)掌握视图的定义与工作原理。
要求:
完成大部分实验练习题
2、实验仪器、设备或软件
仪器设备:
电脑一台
工具:
sqlserver2008
二、实验过程(实验步骤、记录、数据、分析)
(1创建数据库,创建五张基本表并且导入数据
createtable员工人事表(
员工编号nvarchar(5)notnullprimarykey,
员工姓名nvarchar(10)notnull,
性别nvarchar
(1)notnull,
所属部门nvarchar(4)notnull,
职称nvarchar(6)notnull,
到职日datetimenotnull,
生日datetimenull,
薪水intnotnull,
住址varchar(50)null
)
(2)查询已导入的基本表
(3)sql语句练习
1)查找出职称为职员的女员工的姓名、职称、性别。
select员工姓名,职称,性别
from人事员工表
where职称='职员'
and性别='f'
2)查找出employee表中周晓梅住址相同的员工的姓名、性别、职称、薪水、住址。
select员工姓名,性别,职称,薪水,住址
from人事员工表
where住址in
(select住址
from人事员工表
where员工姓名='周
小梅')
3)由employee表中查找出薪水最高的员工信息。
select*
from人事员工表
where薪水=
(selectMAX(薪水)
from人事员工表
)
4)由sales表中查找出订单金额大于“E0014业务员在1996/10/15这天所接每一张订单的金额”的所有订单。
select*
from销售主表
where订单金额>
(select订单金额
from销售主表
where业务员编号='E0014'
and订货日期='1996-10-1500:
00:
00')
5)查询出employee表中所有女职工的平均工资和住址在"上海市"的所有女职工的平均工资
selectAVG(薪水)
from人事员工表
where薪水in(
select薪水
from人事员工表
where性别='f')
union
selectAVG(薪水)
from人事员工表
where薪水in(
select薪水
from人事员工表
where性别='f'
and住址='上海市')
6)计算出sale_item表中每一笔销售数据的销售金额,并按照销售金额的大小排序。
select单价*销售数量
from销货明细表
orderby单价*销售数量
7)检索product表和sale_item表中数量大于2的相同产品的产品编号、产品名称、数量、单价。
select产品名称表.产品编号,产品名称,销售数量,单价
from产品名称表,销货明细表
where产品名称表.产品编号=销货明细表.产品编号
and销售数量>2
8)查找所有经理的姓名、职称、薪水。
select员工姓名,职称,薪水
from员工人事表
where职称='经理'
9)查找出姓“王”并且名字的最后一个字为“功”的员工。
select员工姓名
from员工人事表
where员工姓名like'王%功'
10)查找住在上海或北京的女员工,并显示其姓名、所属部门、职称、住址。
select员工姓名,所属部门,职称,住址
from员工人事表
where住址
in(select住址
from员工人事表
where住址='上海市'or住址='北京市')
and性别='f'
11)在表sales中挑出销售金额大于等于10000元订单。
select*
from销售主表
where订单金额>='1000'
12)选取订单金额最高的前10%的订单数据。
(提示:
Selecttop10percent)
select*
from销售主表
where订单金额in(
selecttop10percent订单金额
from销售主表)
13)查找出职称为经理或职称为职员的女员工的信息。
select*
from员工人事表
where职称in(
select职称
from员工人事表
where职称='经理'or
职称='职员')
and性别='f'
14)计算出一共销售了几种产品。
selectCOUNT(distinct产品编号)
from销货明细表
15)显示sale_item表中每种个别产品的订购金额总和,并且依据总额由大到小排列来显示出每一种产品的排行榜。
select产品编号,sum(销售数量*单价)订购金额总和
from销货明细表
groupby产品编号
orderbysum(销售数量*单价)desc
16)计算每一产品每月的销售金额总和,并将结果按销售(月份,产品编号)排序。
(提示:
Year(属性名)将属性名对应的日期型属性值提取年份,Month((属性名)将属性名对应的日期型属性值提取月份)
selectMONTH(出货日期)月份,产品编号,sum(销售数
量*单价)销售金额总和
from销货明细表
groupbyMONTH(出货日期),产品编号
orderbyMONTH(出货日期)
17)查找出employee表中住址相同的员工的姓名、性别、职称、薪水、住址。
(提示:
使用自我连接将两个地址相同的员工显示在同一行)
select住址,员工姓名,性别,职称
from员工人事表
groupby住址,员工姓名,性别,职称
18)查找出employee表中部门相同且住址相同的女员工的姓名、性别、职称、薪水、住址。
selectdistincta.所属部门,a.住址,a.员工姓名,a.性
别,a.职称,a.薪水
from员工人事表a,员工人事表b
wherea.所属部门=b.所属部门anda.住址=b.住址
anda.性别='f'
19)检索product表和sale_item表中相同产品的产品编号、产品名称、数量、单价。
select产品名称表.产品编号,产品名称,销售数量,单价
from产品名称表,销货明细表
where产品名称表.产品编号=销货明细表.产品编号
groupby产品名称表.产品编号,产品名称,销售数量,单
价
20)检索product表和sale_item表中单价高于2400元的相同产品的产品编号、产品名称、数量、单价。
select产品名称表.产品编号,产品名称,销售数量,单价
from产品名称表,销货明细表
where产品名称表.产品编号=销货明细表.产品编号
and单价>'2400'
groupby产品名称表.产品编号,产品名称,销售数量,单
价
21)分别使用左向外连接、右向外连接、完整外部连接检索product表和sale_item表中单价高于2400元的相同产品的产品编号、产品名称、数量、单价。
并分析比较检索的结果。
select产品名称表.产品编号,产品名称,销售数量,单价
from产品名称表,销货明细表
where产品名称表.产品编号=销货明细表.产品编号
and单价>'2400'
select产品名称表.产品编号,产品名称,销售数量,单价
from产品名称表leftoutjoin销货明细表on(产品名称表.产品编号=销货明细表.产品编号)
where单价>'2400'
//消息155,级别15,状态1,第2行
'out'不是可以识别的join选项。
select产品名称表.产品编号,产品名称,销售数量,单价
from销货明细表rightoutjoin产品名称表on(产品名称表.产品编号=销货明细表.产品编号);
where单价>'2400'
//消息155,级别15,状态1,第2行
'out'不是可以识别的join选项。
22)由sales表中查找出订单金额大于“E0013业务员在1996/10/15这天所接每一张订单的金额”的所有订单。
select*
from销售主表
where订单金额>all(select订单金额
from销售主表
where业务员编号='E0013'and订货日期='1996-10
-15')
23)查询出employee表中所有女职工的平均工资和 住址在"上海市"的所有女职工的平均工资
selectAVG(薪水)女职工平均工资
from员工人事表
where性别='f'
selectAVG(薪水)上海市女职工平均工资
from员工人事表
where性别='f'and住址='上海市'
24)由sales表中查找出销售金额最高的订单。
select*
from销售主表
where订单金额=(selectmax(订单金额)
from销售主表)
25)由sales表中查找出订单金额大于“E0013业务员在1996/10/15这天所接任一张订单的金额”的所有订单,并显示承接这些订单的业务员和该条订单的金额。
select业务员编号,订单号
from销售主表
where订单金额>all(select订单金额
from销售主表
where业务员编号='E0013'and订货日期='1996-10
-15')
26)找出公司女业务员所接的订单。
select*
from销售主表,员工人事表
where性别='f'and销售主表.业务员编号=员工人事
表.员工编号
27)找出公司中姓名相同的员工,并且依据员工编号排序相识这些员工信息。
selectdistincta.员工编号,a.员工姓名,a.性别,a.所属
部门,a.职称
from员工人事表a,员工人事表b
wherea.员工姓名=b.员工姓名
groupbya.员工姓名,a.性别,a.所属部门,a.职称,a.员
工编号
28)找出目前业绩未超过200000元的员工。
select员工编号,员工姓名,订单金额业绩
from员工人事表,销售主表
where员工人事表.员工编号=销售主表.业务员编号
and订单金额<='200000'
29)计算公司内各个部门的工资支出总和。
select所属部门,sum(薪水)工资支出
from员工人事表
groupby所属部门
30)计算每一产品销售数量总和与平均销售单价。
select产品编号,sum(销售数量)销售数量总和,avg(
单价)平均销售单价
from销货明细表
groupby产品编号
31)删除销售表sales中不存在于销售明细表中的定单号。
delete
from销售主表
where订单号notin
(select订单号
from销货明细表
)
32)删除sales表中作废的订单(其发票号码为I000000004),其订货明细数据也一并删除。
销售主表中没有发票的号码,所以无法删除
33)建立销售信息视图,能显示每个定单的详细信息
createview销售信息
as
select*
from销货明细表
34)将数据(10010,'1996/12/20')插入销售信息视图中/*注意:
插入数据时要考虑数据列是否有默认值或允许为空,否则INSERT失败。
*/
插入失败,没有默认值,将其修改为
insert
into销售信息
values(10010,'P0001',3,2600.00,'1996-12-2000:
00:
00')
35)创建一个视图,该视图只含上海客户信息,即客户号、客户姓名、住址。
createview上海客户信息
as
select客户号,客户名称,客户住址
from客户
where客户住址='上海市'
36)对视图添加一条记录数据。
(注意:
分别查看customer表和该视图的结果。
)
insert
into上海客户信息
values('12345','李含日','上海市')
37)删除视图中所有姓“王”的客户数据。
delete
from上海客户信息
where客户名称='王%'
38)通过视图修改表内某一名字中包含‘王’字的客户的姓名为‘张三’。
update上海客户信息
set客户名称='张三'
where客户名称='%王%'
39)有两个基本表employee和sales,创建一个视图,该视图包含sales中各业务员的编号、姓名、订单号、销售总金额。
createview销售详情
as
select业务员编号,员工姓名,订单号,订单金额销售总
金额
from销售主表,员工人事表
where销售主表.业务员编号=员工人事表.员工编号
40)将上述视图中订单号为10001的记录的销售总金额改为60000。
update销售详情
set销售总金额='60000'
where订单号='10001'
41)给上述视图添加一条记录数据。
insert
into销售详情
values('12303','李含日',54321,300000)
42)删除上述视图。
dropview销售详情
三、问题反馈
在将一组数据插入到视图时,不能将空值插入到属性为非空的位置,例如
createview上海客户信息
as
select客户号,客户名称,客户住址
from客户
where客户住址='上海市'
insert
into上海客户信息
values('12345','李含日','上海市')
//消息515,级别16,状态2,第1行
不能将值NULL插入列'邮政编码',表'ITEM1.dbo.客户表';列不允许有Null值。
INSERT失败。
语句已终止。
邮政编码是在基本表中,要将基本表中属性的数据一并插入
四、指导教师评语及成绩:
评语:
成绩:
指导教师签名:
边海容
批阅日期:
月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 实验 报告 模版