数据库应用技术形成性考核任务4.docx
- 文档编号:10303889
- 上传时间:2023-02-10
- 格式:DOCX
- 页数:12
- 大小:47.30KB
数据库应用技术形成性考核任务4.docx
《数据库应用技术形成性考核任务4.docx》由会员分享,可在线阅读,更多相关《数据库应用技术形成性考核任务4.docx(12页珍藏版)》请在冰豆网上搜索。
数据库应用技术形成性考核任务4
数据库应用技术形成性考核任务4
请按照第5章的实验要求独立完成实验。
将相关的SQL语句和运行结果的截屏保存在文件中,或填写在下面的实验报告中,并通过网络提交。
某某分部数据库应用技术实验报告
数据库应用技术
班级
学习中心名称学生姓名课程名称实验名称实验目的实验目的:
对数据库表中的数据进行查虱实验要求
实验内容
实验内容与步骤:
在SSMS工具中编写下述语句,查看执行结果,并将SQL语句保存到一个文件中。
测试数据与结果(或实验结果截图):
1.查询SC表中的全部数据。
SELECT“FROMSC
二1结果q消息
Sno
Cno
Grade
1
•・••••••■•―•—•••、
I0811101
1C001
96
2
0811101
80
3
0811101
mim
84
4
0811101
C005
62
5
0811102
C001
92
6
0811102
C002
90
7
0811102
COW
84
8
0821102
cm
76
g
0821102
C004
86
10
0821102
coos
73
11
0821102
C007
NULL
12
0821103
C001
50
13
0821103
COM
80
14
啪1101
CfM)1
5n
2.查询计算机系学生的姓名和年齡。
SELECTSname.SexFROMStudentWHERESdept='计算机系'
3结果山消息
1
SnameSex
••w••••••••••••
2
刘li
3
王锄
女
4
非小红
女
5
王大力
女
6
弓KAM
3.查询成绩在70〜80分的学生的学号、课程号和成绩。
SELECTSno.Cno,GradeFROMSCwhereGradeBETWEEN70AND80:
Sno
Cno
Grade
1
C002
印
2
0821102
C001
7&
3
0821102
C005
73
4
0821103
C004
&0
5
0831101
C004
©
6
0831103
C004
78
-J车来
q消息
4.查询计算机系年龄在18〜20岁的男生姓名和年龄。
SELECTSname.SagefromStudentwhereSex=*男'ANDSage>18ANDSage<20
Q结果知髓
SnameSage
•••••••<•••••••••••«••••••
.弓個10『9
5.查询C001课程的最高分。
SELECTmax(Grade)fromSCwhereCno=C00r
最高分
6.査询计算机系学生的最大年龄和最小年龄。
SELECTmax(Sage)'最大年龄'.min(Sage)'最小年齢'fromStudentwhereSdept='计耸机系'
最大年齢最小锦
1I21:
19
;!
7.统计每个系的学生人数。
SELECTSdept.count(Sno)'人数fromStudentGROUPBYSdept;
Sdepl人教
1[吾宜讯系…fI6
2信息管理系4
8.统计毎门课程的选课人数和最高成绩。
SELECTcno,count(Sn。
)'选课人数Lmax(Grade)'最高成绩
FROMSCGROUPBYCno;
Llfl虽乘q消息
Sno
Cno
Grade
1
:
0811101;
C002
80
2
0821102
C001
7G
3
0321102
C005
73
4
0821103
C004
80
5
08S1101
C004
BO
6
0831103
C004
78
9.统计每个学生的选课门数和考试总成绩,并按选课门数升序显示结果。
SELECTsnocount(Cno)'选课门数sum(Grade)'总成绩
'FROMSCGROUPBYSnoORDERBY2ASC
sno
迭课门数
总成绩
1
!
0831102!
1
NULL
2
0821103
2
130
3
0831101
2
130
4
0811102
3
2€€
5
0831103
3
143
6
0811101
4
322
7
0821102
4
235
10.列出总成绩超过200的学生的学号和总成绩。
SELECTsno,sum(Grade),总成绩
1FROMSCGROUPBYSnoHAVINGsum(Grade)>200:
sno总成婿
1j0811101I322
2081110226G
30821102235
11.查询选课门数最多的前2位学生,列出学号和选课门数。
top2
SELECTtop2Sno,count(cno)课门数
'fromSCGROUPBYSnoORDERBY2DESC:
立°…―送课门敎
1rbsnioi14
2j丽莅W
12.查询选了C002课程的学生姓名和所在系。
SELECTSnameSdeptfromSC.StudentwhereSC.Sno=Student.SnoANDCno^COOZ
口结果金消息_
SnameSdept
1i?
勇i计算机系
2i'Jl计耳机系
13.查询考试成绩80分以上的学生姓名、课程号和成绩,并按成绩降序排列结果。
SELECTSname.Cno,GradeFROMSC,StudentWHEREGrade>80ANDStudent.Sno=SC.SnoORDERBYGradeDESC
园結果以消息
Sname
Cno
Grade
1
i孚更
jC001
心
96
2
刘晨
C001
92
3
刘晨
C002
90
4
吴宾
C004
86
5
C004
84
6
李勇
C003
84
14.查询计算机系男生修了“数据库基础”的学生的姓名、性别和成绩
selectsname,ssex,gradefromstudentsjoinscons.sno=sc.sno
joincoursecono=o
wheresdept='计算机系’andssex=男'andcname='数据库基础
15.査询每个学生的选课情况,包括未选课的学生,列出学生的学号、姓名、选的课程号。
SELECTStudent.Sno.Sname,CnofromSC.StudentWHEREStudent.Sno=SCSno
16.査询哪些课程没有学生选修,列出课程号和课程名。
SELECTCourse.Cno.CnamefromSC.CourseWHERESC.Cno=Course.CnoANDSnoISNULL;
面結果也消息
SnameSdeptSage
1:
李眞-!
计算机系21
2度小平信息管理系21
17.查询计算机系哪些学生没有选课,列出学生姓名。
SELECTSnameFROMStudent,SCWHEREStudent.Sno=SC.SnoANDCnoisNULLANDSdept顼计算机系'
18.列出WB”课程考试成绩前三名的学生的学号、姓名、所在系和VB成绩。
top3
SELECTtop3Student.Sno,Sname,Sdept,GradefromSC.Course.StudentWHEREStudent.Sno=SCSnoANDSC.Cno=Course.CnoandCname=VB*ORDERBYGradeDESC:
Sno
Sname
Sdept
Grade
1
:
0821102
昊宾
信息管理至
73
2
08311。
3
弭姗姗
计算机系
65
3
0811101
李勇
计算机系
62
19.査询与李勇年龄相同的学生的姓名、所在系和年龄。
SELECTS1.Sname.SI.Sdept,S1.SageFROMStudentS1,StudentS2WH
ERES2.Sname=李勇'ANDS2Sage=S1.Sage
E结果Jj
消息
Sname
Sdepit
Sage
1李勇:
i+算机系
21
2KZMP宀信息管曄系
21
20.查询选了VB的学生学号、姓名、所在系和成绩,并对所在系进行如下处理:
当所在系为“计算机系”时,显示“CS”;当所在系为“信息管理系”时,显示“IS”:
当所在系为“通信工程系”时,显示“co”:
对其他系,均显示“OTHER”。
selects.sno学号,sname姓名,casesdeptwhen,计算机系'then"CS1when'信息系'then'IS'when嗷学系'then'CO*else'OTHER'endas所在系,grade成绩fromstudentsjoinscons.sno=sc.sno
joincoursecono=owherecname='vb'
21.用子查询实现如下查询:
1)查询选了“C001”课程的学生姓名和所在系。
2)査询计算机文化学考试成绩80分以上的学生学号和姓名。
3)査询计算机文化学考试成绩最高的学生姓名和所在系。
4)查询年龄最大的男生的姓名和年龄。
5)查询“C001”课程的考试成绩高于“C001”课程的平均成绩的学生的学号和“C001”课程成绩。
1)selectsname,sdeptfromstudentwheresnoin(
selectsnofromscwhereeno='C001')
2)selectsno,snamefromstudentwheresnoin((
selectsnofromscwheregrade>80andenoin(selectenofromcoursewherecname="计算机文化学'))
3)selectsname,sdeptfromstudentsjoinscons.sno=sc.sno
Joincoursecono=o
wheregrade=(
selectmax(grade)fromscjoincoursecono=owherecname='计算机文花学')andcname='计算机文化学'
4)selectsname,sagefromstudent
Wheresage=(selectmax(sage)fromstudentandssex=1男■)andssex='号
5)selectsno,gradefromscwhereeno=1COOT
Andgrade>(selectavg(grade)fromscwhereeno='C001')
22.创建一个新表,表名为test_t,其结构为:
(COL1.COL2.COL3),其中:
COL1:
整型,允许空值。
COL2:
字符型,长度为10,不允许空值。
COL3:
字符型,长度为10,允许空值。
试写出按行插入如下数据的语句(空白处表示空值)。
22.createtabletest_t(
COL1int,一
COL2char(10)notnull,
COL3char(10))
insertintotest_tvalues(NULL,'BT,NULL)
insertintotest_tvalues(1,'B2','C2')
insertintotest_t(COL1,COL2)values(2,'B31)
23.将“C001”课程的考试成绩加10分。
updatescsetgrade=grade+10whereeno='C001'
24.将计算机系所有选修了“计算机文化学”课程的学生成绩加10分,分别用子查询和多表连接形式实现。
1)子查询
updatescsetgrade=grade+10
wheresnoin(
selectsnofromstudentwheresdept=,计算机系')
andenoin(
selectenofromcoursewherecname='i「算机文化学')
2)多表连接
updatescsetgrade=grade+10
fromscjoinstudentsonsc.sno=s.sno
joincoursecono=o
wheresdept='计算机系'andcanem='计算机文化学'
25删除考试成绩小于50分的学生的选课记录。
deletefromscwheregrade<50
26.删除信息管理系考试成绩小于50分的学生的该门课程的修课记录,分别用子查询和多表连接形式实现。
1)用连接查询实现
deletefromscfromscjoinstudentsons.sno=sc.sno
wheresdept='信息管龜系'andgrade<50
2)用子査询实现
deletefromscwheresnoin(
selectsnofromstudentwheresdept='信息管理系')
andgrade<50
27.删除VB考试成绩最低的学生的VB修课记录。
deletefromsc
wheregrade=(
selectmin(grade)fromsc
joincoursecono=o
wherecname='vb')
andenoin(
selectenofromcoursewherecname='vb')
实验体会,
数据库正常运行的重要工作。
数据的备份是对SQLSener数据事务日志进行拷贝,数据库备份记录了在进行备份操作的数据库中所有数据的状态。
而数据的备份还分为数据库完整备份.差异备份、事务日志备份.文件及文件组备份。
做数据备份就是为了以后的数据库恢复用。
在实训内容上我们还做了仓库管理数据库.其中的要求包含了许多数据库的对象,综合了我们所学的许多知识•让我们更努力的把所学到的东西运用上去。
教师评语:
实验成绩:
可增加页数或提供共他附件(如代码和截屏图等)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 应用技术 形成 考核 任务