实验6-SQL-查询附答案

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验6-SQL-查询附答案

实验六SQL 查询

一、实验目的:

1.熟练掌握SELECT语句的语法格式

2.掌握联接的几种方法

3.掌握子查询的表示和执行

4.能够对SELECT查询结果进行分组、排序及统计

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 学生

select top 3 * from 成绩表 where 课程编号='001' order by 成绩 desc

4.Use 学生

select a.姓名,c.课程名,b.成绩 from 学生表 as a join 成绩表 as b on b.课程编号=001 and a.学号=b.学号 and b.成绩 between 80 and 90 join 课程表 as c on c.课程编号=b.课程编号

5.use 学生

select * from 学生表 where 专业 in ('计算机软件','电子商务')

6.use 学生

select avg(成绩)as 平均成绩 from 成绩表 as a join 课程表 as b

on b.课程名='计算机应用基础' and b.课程编号=a.课程编号

7.use 学生

select 课程编号,count(学号)as 修课人数 from 成绩表 group by 课程编号

8.use 学生

select * from 成绩表 where 课程编号=001

compute max(成绩),min(成绩),avg(成绩)

9.use 学生

select a.姓名,b.课程名,c.成绩 from 学生表 as a join 成绩表 as c on a.学号=c.学号 and a.性别='女'join 课程表 as b

on b.课程编号=c.课程编号 and b.课程名='计算机应用基础'

10.use 学生

select a.学号,a.姓名,b.课程名,c.成绩 from 课程表 as b join 成绩表 as c

on b.课程编号=c.课程编号 and c.课程编号=001 and c.成绩>

(select avg(成绩) from 成绩表 where c.课程编号=001)

join 学生表 as a on a.学号=c.学号

11.use 学生

select * from 成绩表 as a where 成绩>

(select avg(成绩) from 成绩表 as b where a.课程编号=b.课程编号)

12.use 学生

select * from 课程表 where not exists

(select * from 成绩表 where 成绩表.课程编号=课程表.课程编号)

13.use 学生

update 课程表 set 学分=学分+1 where 课程编号=001

14.use 学生

delete 成绩表 where 学号='20030101'

相关文档
最新文档