一、实验目的
1、掌握select语句的基本语法和查询条件表示方法
2、掌握连接查询的表示方法
3、掌握嵌套查询的表示方法
二、实验内容与步骤
1、在StuCourse数据库中,用SQL语句实现如下查询:
(1)查询每个学生的情况以及其选修课程的情况(要求结果集是自然连接)
查询语句(文本):
SELECT Student.*, StuCourse.课程号, StuCourse.成绩
FROM Student, StuCourse
WHERE Student.学号 = StuCourse.学号
查询结果(截图):
(2)查询“电子信息工程”专业的学生姓名及其选课详情,无论该学生有没有选课
查询语句:
select Student.*, 课程号
from Student,StuCourse
where Student.学号=StuCourse.学号 and 专业名='电子信息工程'
查询结果:
(3)用JOIN连接查询的方法查询选修了“程序设计基础”的学生姓名
查询语句:
查询结果:
(4)统计“计算机科学与技术”专业各学生的平均成绩
查询语句:
查询结果:
(6)将各学生的学号和姓名按平均成绩降序排列
查询语句:
查询结果:
(7)用JOIN连接查询的方法查找所有选修了“2001”或“1002”课程的学生学号和姓名
查询语句:
查询结果:
(8)用子查询查找所有选修了“2001”或“1002”课程的学生学号和姓名
查询语句:
查询结果:
(9)用子查询查询与“李进”在同一个专业学习的学生学号、姓名和系别
查询语句:
查询结果:
(5)统计各专业学生的平均成绩在80以上的学生人数
查询语句:
查询结果:
(10)查询所有课程的成绩都在80分以上的学生姓名、学号
查询语句:
查询结果:
(11)用子查询查询所有未选修1002课程的学生姓名
查询语句:
查询结果:
(12)用子查询查找“计算机科学与技术”专业“1001”课程成绩比所有“电子信息工程”专业“1001”课程成绩都高的学生的学号和姓名
查询语句:
SELECT Student.姓名,Student.学号
FROM Student, StuCourse
WHERE Student.学号 = StuCourse.学号 AND Student.专业名 = '计算机科学与技术' AND StuCourse.课程号 = '1001'
AND StuCourse.成绩 >=
(
SELECT MAX(StuCourse.成绩)
FROM Student, StuCourse
WHERE Student.学号 = StuCourse.学号 AND Student.专业名 = '电子信息工程' AND StuCourse.课程号 = '1001'
)
查询结果: