数据库实验报告 TransactSQL语句的高级应用实验报告.docx
- 文档编号:9590479
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:11
- 大小:852.44KB
数据库实验报告 TransactSQL语句的高级应用实验报告.docx
《数据库实验报告 TransactSQL语句的高级应用实验报告.docx》由会员分享,可在线阅读,更多相关《数据库实验报告 TransactSQL语句的高级应用实验报告.docx(11页珍藏版)》请在冰点文库上搜索。
数据库实验报告TransactSQL语句的高级应用实验报告
西北师范大学计算机科学与工程学院学生实验报告
学号
专业
计算机科学与技术
姓名
课程名称
数据库应用与开发
班级
实验名称
Transact-SQL语句的高级应用
课程类型
专业限选课
实验目的:
利用SELECT语句中更复杂的特性,可以使用多个表进行查询并获取结果。
在实际应用过程中,SELECT语句查询通常是由多表连接、子查询等有机地组合而形成的,同时还可以处理大型数据块,使用游标处理结果集。
实验内容:
1、查询每一位教授的教师号、姓名和讲授的课程名称
SQL代码:
useteaching
go
selectteachernoas'教授号',tnameas'姓名',majoras'课程名称'
fromteacher
whereprof='教授'
go
实验结果:
2、利用现有的表生成新表,新表中包括学号、学生姓名、课程名称和总评成绩(其中:
总评成绩=final*0.9+usually*0.1)。
SQL代码:
useteaching
go
selectstudent.studentnoas'学号',snameas'学生姓名',cnameas'课程名称',0.9*final+0.1*usuallyas'总评成绩'
intonew_stuscore
fromstudent,score,course
wherestudent.studentno=score.studentnoandcourse.courseno=score.courseno
go
select*
fromnew_stuscore
实验结果:
3、分别统计每个学生期末成绩高于75分的课程门数
SQL代码:
useteaching
go
selectstudent.studentno,student.sname,count(*)as'课程门数'
fromscore,student
wherefinal>75andstudent.studentno=score.studentno
groupbystudent.studentno,student.sname
实验结果:
4、输出student表中年龄大于女生平均年龄的男生的所有信息
SQL代码:
useteaching
go
select*
fromstudent
wheresex='男'and
datediff(year,birthday,getdate())>(
selectavg(datediff(year,birthday,getdate()))
fromstudent
wheresex='女'
)
实验结果:
5、计算每个学生获得的学分。
SQL代码:
useteaching
go
selectstudent.studentno,student.sname,sum(credit)
fromstudentinnerjoinscore
onstudent.studentno=score.studentno
innerjoincourse
oncourse.courseno=score.courseno
wherescore.final>60
groupbystudent.studentno,student.sname
go
实验结果:
6、获取入学时间在2008—2009年的所有学生中入学年龄小于19岁的学号、姓名及所修课程的课程名称。
SQL代码:
useteaching
go
selectstudent.studentno,student.sname,ame
fromstudentinnerjoinscore
onstudent.studentno=score.studentno
innerjoincourse
oncourse.courseno=score.courseno
where(substring(student.studentno,1,2)='08'
and(datediff(year,birthday,'2008-01-01')<19))
or(substring(student.studentno,1,2)='09'
and(datediff(year,birthday,'2009-01-01')<19))
go
实验结果:
7、查询09级学生的学号、姓名、课程名及学分。
SQL代码:
useteaching
go
selectstudent.studentno,student.sname,ame,course.credit
fromstudentinnerjoinscore
onstudent.studentno=score.studentno
innerjoincourse
oncourse.courseno=score.courseno
where(substring(student.studentno,1,2)='09')
go
实验结果:
8、查询选修课程少于3门或期末成绩含有60分以下课程的学生学号、姓名、电话和E-mail.
SQL代码:
useteaching
go
selectstudentno,count(*)as'countNUM'
intocount1
fromscore
groupbystudentno
go
selectstudent.syudentno,sname,phone,Email
fromstudentinnerjoinscore
onstudent.studentno=score.studentno
innerjoincount1
onstudent.studentno=count1.studentno
wherescore.final<60andcountNUM<3
go
实验结果:
实验总结:
通过本次实验掌握使用多个表进行查询并获取结果,同时基本掌握处理大型数据块,使用游标处理结果集。
实验评语:
实验成绩
教师签字
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库实验报告 TransactSQL语句的高级应用实验报告 数据库 实验 报告 TransactSQL 语句 高级 应用
![提示](https://static.bingdoc.com/images/bang_tan.gif)