实验名称 实验3 通过SQL进行表查询 日期 2020年 6 月 11 日
一、实验目的:
- 掌握简单SQL查询语句的应用,包括like、top、order by、compute 和聚集函数的应用。
- 掌握两个表以上的连接查询的应用,包括嵌套查询及聚集函数操作。
二、实验环境:
PC + Windows + SQL Server
三、实验内容
1.基本查询
(1)查询Student表中全体学生的全部信息。
截图:
(2)查询全体学生的学号、姓名。
截图:
2.查询时改变列标题的显示
查询全体学生的学号、姓名、家庭地址信息,并分别加上“学生”、“学号”、“家庭地址”的别名信息。
截图:
3.条件查询
(1)查询成绩大于80分的学生的学号及课程号、成绩。
截图:
(2)查询成绩介于75~80分的学生的学号及课程号、成绩。
截图:
(3)查询选修了课程号为“002”,且成绩大于70的学生的学号。
截图:
(4)某些学生选修某门课程后没有参加考试,所以有选课记录,但没有考试成绩,请查询缺少成绩的学生的学号和相应的课程号。
截图:
4.基于IN子句的数据查询
从Course表中查询出“高数”、“C语言程序设计”的所有信息。
截图:
5.基于BETWEEN…AND子句的数据查询
查询所有成绩在70~80之间的学生选课信息。
截图:
6.基于LIKE子句的查询
(1)从Student表中分别检索出姓张的所有同学的资料。
截图:
(2)检索名字的第二个字是“红”或“虹”的所有同学的资料。
截图:
(3)查询课程名为Visual_Basic的课程的学分。(提示:使用ESCAPE短语)
截图:
7.使用ORDER BY语句对查询的结果进行排序
(1)显示所有学生的基本信息,按班号排列,班号相同则再按学号排列。
截图:
(2)查询全体学生的姓名及其年龄,并按学生的年龄的降序排列。
截图:
8.使用聚合函数
(1)查询学生总人数。
截图:
(2)计算“002”号课程的学生平均成绩、最高分、最低分。
截图:
9.使用GROUP子句进行查询
(1)查询各班级学生总人数。
截图:
(2)汇总总分大于150分的学生的学号及总成绩。
截图:
(3)查询各个课程号相应的选课人数。
截图:
10.多表查询
(1)查询比“林红”年纪大的男学生信息。
截图:
(2)查询所有学生的选课信息,包括学号、姓名、课号、课程名、成绩。
截图:
(3)查询已选课学生的学号、姓名、课程名、成绩。
截图:
(4)查询选修了“C语言程序设计”的学生的学号和姓名。
截图:
(5)查询与“张虹”在同一个班级的学生学号、姓名、家庭住址。
截图:
(6)查询学生的学号、姓名、学习课程名及课程成绩。
截图:
(7)查询选修了“高数”课且成绩至少高于选修课程号为“002”课程的学生的学号、课程号、成绩,并按成绩从高到低次序排列。
截图:
(8)查询选修3门以上课程的学生的学号、总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。
截图:
(9)查询多于3名学生选修的并以3结尾的课程号的平均成绩。
截图:
(10)查询最高分与最低分之差大于5分的学生的学号、姓名、最高分、最低分。
截图:
四、心得体会(150字以上):
经过此次的实验,掌握了如何用SQL语句进行简单的单表查询,例如选择表中的若干列、选择表中的若干元组、对查询结果进行排序、TOP字句的用法、集聚函数、对查询结果进行分组等表查询内容。
通过涉及两个表及以上的连接查询,包括等值连接查询、自然连接查询、非等值连接查询、自身连接查询的学习,了解并掌握了查询两个表以上的连接查询的应用,包括嵌套查询及聚集函数操作。