实验6SQL查询附答案Word格式文档下载.docx
《实验6SQL查询附答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《实验6SQL查询附答案Word格式文档下载.docx(9页珍藏版)》请在冰豆网上搜索。
5.能够运用T-SQL语句对表进行数据的插入、修改、删除
6.能够通过导入/导出向导进行数据的导入导出
二、实验内容:
利用实验四中的数据库做如下操作:
1.在“学生表”中,找出性别为“男”的学生记录,字段包括“姓名”、“出生日期”和“专业”。
2.在“课程表”中,找出“课程名”中包含“计算机”三个字的课程。
3.在“成绩表”中,找出“课程编号”为“001”的课程成绩前三名学生。
4.在“成绩表”、“学生表”和“课程表”中,找出“课程编号”为“001”的课程成绩在[80,90]之间的学生的姓名、课程名和成绩。
5.在“学生表”中,找出“专业”为“计算机软件”、“电子商务”专业的学生信息。
6.统计“计算机应用基础”课程的平均分。
7.查找各门课程的修课人数。
8.在“成绩表”中,找出课程编号为“001”的这门课程的所有学生的分数以及最高分、最低分和平均分。
9.找出所有女生的“计算机应用基础”这门课的成绩,包括字段:
姓名、课程名、成绩。
10.查找“成绩表”中,课程编号为“001”的成绩高于平均分的所有学生的学号、姓名、课程名和成绩。
11.查找“成绩表”中,高于各门课程平均分的学生信息。
12.查找“课程表”中,没有被学生修课的课程信息。
13.将“课程表”中的课程编号为“001”的学分增加1学分。
14.删除学号为“20030101”学生的相关信息。
三、实验过程:
启动“查询分析器”,在其文本窗口中输入相应的Transcat-SQL语句,分析并执行,观察输出结果。
1.Use学生
select姓名,出生日期,专业from学生表where性别='
男'
2.use学生
select*from课程表where课程名like'
%计算机%'
3.use学生
selecttop3*from成绩表where课程编号='
001'
orderby成绩desc
4.Use学生
selecta.姓名,c.课程名,b.成绩from学生表asajoin成绩表asb
onb.课程编号=001anda.学号=b.学号andb.成绩between80and90
join课程表asconc.课程编号=b.课程编号
5.use学生
select*from学生表where专业in('
计算机软件'
'
电子商务'
)
6.use学生
selectavg(成绩)as平均成绩from成绩表asajoin课程表asb
onb.课程名='
计算机应用基础'
andb.课程编号=a.课程编号
7.use学生
select课程编号,count(学号)as修课人数from成绩表groupby课程编号
8.use学生
select*from成绩表where课程编号=001
computemax(成绩),min(成绩),avg(成绩)
9.use学生
selecta.姓名,b.课程名,c.成绩from学生表asajoin成绩表asc
ona.学号=c.学号anda.性别='
女'
join课程表asb
onb.课程编号=c.课程编号andb.课程名='
10.use学生
selecta.学号,a.姓名,b.课程名,c.成绩from课程表asbjoin成绩表asc
onb.课程编号=c.课程编号andc.课程编号=001andc.成绩>
(selectavg(成绩)from成绩表wherec.课程编号=001)
join学生表asaona.学号=c.学号
11.use学生
select*from成绩表asawhere成绩>
(selectavg(成绩)from成绩表asbwherea.课程编号=b.课程编号)
12.use学生
select*from课程表wherenotexists
(select*from成绩表where成绩表.课程编号=课程表.课程编号)
13.use学生
update课程表set学分=学分+1where课程编号=001
14.use学生
delete成绩表where学号='
20030101'