实验目的:
1.熟练掌握SQL Server查询分析器的使用方法,加深对标准SQL查询语句的理解。
2.熟练掌握简单表的数据连接查询和嵌套查询的操作方法。
实验内容:
创建教学管理数据库“JXGL”,在“JXGL”数据库中创建3-2中的三张表并添加数据,实现数据的单表查询操作。
实验步骤:
写出下列操作的SQL语句
在教学管理“JXGL”数据库中进行如下操作:
-
- 查询每个同学的的学号、姓名、所在系、选修课程的课程号及成绩。
-
- 查询选课成绩在90分以上的学生的学号、姓名和所在系。
-
- 查询"CS"系且选课成绩在90分以上的学生的学号、姓名和所在系。
-
- 查询每一门课的间接先修课(即先修课的先修课)。
-
- 查询有选课记录的同学的学号、姓名、系名、选修课程的课程号及成绩。
-
- 查询所有同学的学号、姓名、系名、选修课程的课程号及成绩。(左外连接)。
-
- 查询每个学生的学号、姓名、所在系、选修的课程名及成绩。(与(1)题有何不同)
-
- 查询选修了课程名为“数据库”的学生学号和姓名。
-
- 查询选修了课程名为“数据库”的男学生学号和姓名。
--------------------------------------------------------------(10-19题要求用嵌套查询实现)
-
- 查询与“李勇”年龄相同的学生的学号、姓名、年龄和所在系。
-
- 查询选修了课程名为“数据库”的学生学号和姓名。
-
- 查询年龄大于“李勇”年龄的同学的学号、姓名、年龄和所在系。
-
- 查询年龄大于计算机系平均年龄的同学的学号、姓名、年龄和所在系。
-
- 查询年龄大于计算机系年龄最大者的同学的学号、姓名、年龄和所在系。
-
- 查询其他系中年龄大于计算机系年龄最大者的同学的学号、姓名、年龄和所在系。
-
- 查询每个学生超过他选修课程平均成绩的学号和课程号。
-
- 查询每门课程超过它平均分的那些选修记录的学号和课程号。
-
- 查询大于所在系平均年龄的同学的学号、姓名、所在系和年龄。
--------------------------------------------------------------(用所学知识实现以下语句)
-
- 求选修了数学课的学生姓名。
-
- 求没有选修数学课的学生姓名。
-
- 求选修各门课的人数及平均成绩。
-
- 求选修课程在2门及以上且都及格的学生号及总平均分。
-
- 求2012级学生中选修课程在2门以上且都及格的学生号及总平均分,并按平均成绩排序。(学号前四位为年级)
-
- 统计每个人及格的成绩的平均值,及格的门数,结果按平均成绩降序,及格门数降序排列。
-
- 统计所有课程均及格学生的平均成绩,及格的门数,结果按平均成绩降序,及格门数降序排列。