实验二

更新时间:2024-04-07 00:42:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实 验二

实验名称:数据查询 实验学时:4 实验目的:

1) 掌握使用T-SQL语句对基本表结构的更改操作 2) 掌握使用T-SQL语句对表的查询操作。 3) 重点掌握 SELECT语句的使用方法。 4) 掌握子查询(嵌套查询)、连接查询的使用。 实验内容及步骤:

(一) 使用T-SQL语句对表结构的更改操作 基本格式如下:

ALTER TABLE 表名

ADD [ CONSTRAINT 约束名 ] FOREIGN KEY (<列名>)

REFERENCES 引用表名 (<列名>)

(二) SELECT语句对表的查询操作。 基本格式如下:

SELECT <目标列名序列> --需要哪些列

FROM <数据源> --来自于哪些表 [WHERE <检索条件>] --根据什么条件 [GROUP BY <分组依据列>] [HAVING <组提取条件>] [ORDER BY <排序依据列>] 实验习题:

(一) 对表结构的更改操作

(1) 向Student表增加“入学时间”,其数据类型为日期型

(2) 将年龄的数据类型由字符型(如果原来是字符型)改为整数 (3) 增加课程名称必须取值唯一值的约束条件

(二)SELECT语句对表的查询操作。

1.查询学生选课表中的全部数据。

2.查询计算机系的学生的姓名、年龄。

3.查询成绩在70~80分之间的学生的学号、课程号和成绩。

4.查询计算机系年龄在18~20之间且性别为“男”的学生的姓名、年龄。 5.查询课程号为“c01”的课程的最高的分数。 6. 查询计算机系学生的最大年龄和最小年龄。 7. 统计每个系的学生人数。

8. 统计每门课程的选课人数和考试最高分。

9. 统计每个学生的选课门数和考试总成绩,并按选课门数升序显示结果。 10. 查询总成绩超过200分的学生,要求列出学号、总成绩。 11. 查询选修了“c02”号课程的学生的姓名和所在系。

12. 查询成绩80分以上的学生的姓名、课程号和成绩,并按成绩降序排列结果。

13. 查询哪些学生没有选课,要求列出学号、姓名和所在系。 14. 查询与VB在同一学期开设的课程的课程名和开课学期。 15.查询与李勇年龄相同的学生的姓名、所在系和年龄。 16.查询计算机系年龄最小的2名学生的姓名和年龄。

17. 查询VB成绩最高的前2名学生的姓名、所在系和VB成绩,包括并列的情况。 18. 查询选课人数最多的前2名学生的学号和选课门数,包括并列的情况。 19. 查询学生人数最多的系,列出系名和人数。 20. 用子查询实现如下查询:

(1)查询选修了“c01”号课程的学生的姓名和所在系。

(2)查询数学系成绩80分以上的学生的学号、姓名、课程号和成绩。 (3)查询计算机系考试成绩最高的学生的姓名。

(4)查询数据结构考试成绩最高的学生的姓名、所在系、性别和成绩。 21.查询没有选修VB课程的学生的姓名和所在系。 22.查询计算机系没有选课的学生的姓名和性别。

23. 查询计算机系考试平均成绩最低的学生的姓名以及所选的课程名。 24. 查询1~5学期中,选课人数最少的课程的课程名、开课学期和学分。 25. 创建一个新表,表名为test_t,其结构为:(COL1, COL 2, COL 3),其中:

COL1:整型,允许空值。

COL2:字符型,长度为10 ,不允许空值。 COL3:字符型,长度为10 ,允许空值。

试写出按行插入如下数据的语句(空白处表示空值)。

COL1 COL2 COL3 1 2

26. 删除考试成绩低于50分的学生的选课记录。

27.删除没有人选的课程记录。

28.删除计算机系VB成绩不及格学生的VB选课记录。 29. 删除VB考试成绩最低的学生的VB选课记录。 30.将第2学期开设的所有课程的学分增加2分。 31.将VB课程的学分改为3分。 32. 将计算机系学生的年龄增加1岁。

33.将信息系学生的“计算机文化学”课程的考试成绩加5分。 34.将选课人数最少的课程的学分降低1分。(未考虑没人选的课程)

实验报告要求: ? 实验目的

? 实验习题的运行结果 ? 实验习题的源程序清单

B1 B2 B3 C2

本文来源:https://www.bwwdw.com/article/c3br.html

Top