实 验二 实验名称:数据查询 实验学时: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.wddqw.com/doc/b9295ec4ba1aa8114531d9c0.html