11. 查询课程为“数据库系统原理”的成绩在前10名的学生信息,信息包括学号、姓名、
成绩,成绩按降序排列(中)
select top 10 student_code,student_name,course_grade from StudentInfo,Student_Course,CourseInfo
where StudentInfo.Student_ID=Student_Course.Student_ID and CourseInfo.Course_ID=Student_Course.Course_ID and Course_Name='数据库系统原理' order by course_grade desc
12. 查询教师工号为'10003'的教师姓名,所授课程代码,课程名称。(中3)
select Teacher_Name,Course_Code,Course_Name from teacherInfo,Teacher_Class_Course,CourseInfo
where teacherInfo.Teacher_ID=Teacher_Class_Course.Teacher_Id and CourseInfo.Course_ID=Teacher_Class_Course.Course_Id and Teacher_Code='10003'
13. 查询每个同学的信息,包括系部名称、班级名称、学号、姓名。(中3)
select Dept_Name,Class_Name,Student_Code,Student_Name from studentinfo,ClassInfo,DeptInfo
where studentinfo.Class_ID=ClassInfo.Class_ID and ClassInfo.Dept_ID=DeptInfo.Dept_ID
14. 查询学生代码为130016309'的姓名,所选课程代码,课程名称,成绩。(中3)
select student_name,course_code,course_name,course_grade from StudentInfo,Student_Course,CourseInfo
where StudentInfo.Student_ID=Student_Course.Student_ID and CourseInfo.Course_ID=Student_Course.Course_ID and Student_Code='130016309'
15. 查询1300161班“网页设计与制作”课程的前三名的学生学号、姓名和成绩。(较难4)
select top 3 student_code,student_name,course_grade from StudentInfo,Student_Course,CourseInfo,ClassInfo where StudentInfo.Student_ID=Student_Course.Student_ID and CourseInfo.Course_ID=Student_Course.Course_ID and ClassInfo.Class_ID=StudentInfo.Class_ID
and Course_Name='网页设计与制作' and Class_Code='1300161' order by course_grade desc
16. 查询课程成绩大于等于85分的学生信息,包括班级名称、学号、学生姓名、课程名称、
成绩(较难4)
select class_name,student_code,student_name,course_name,course_grade
from StudentInfo,Student_Course,CourseInfo,ClassInfo where StudentInfo.Student_ID=Student_Course.Student_ID and CourseInfo.Course_ID=Student_Course.Course_ID and
ClassInfo.Class_ID=StudentInfo.Class_ID and course_grade>85
17. 查询陈欣老师的课表,信息包括授课班级编号、课程编号和课程名称(较难4)
select class_code,Course_Code,Course_Name
from teacherInfo,Teacher_Class_Course,CourseInfo,ClassInfo where teacherInfo.Teacher_ID=Teacher_Class_Course.Teacher_Id and CourseInfo.Course_ID=Teacher_Class_Course.Course_Id and
classinfo.Class_ID=Teacher_Class_Course.Class_Id
and
Teacher_name='陈欣'
18. 查询1300162班的班级课表,信息包括授课班级编号、教师姓名和课程名称(较难4)
select class_code,Course_Name,Teacher_Name
from teacherInfo,Teacher_Class_Course,CourseInfo,ClassInfo where teacherInfo.Teacher_ID=Teacher_Class_Course.Teacher_Id and CourseInfo.Course_ID=Teacher_Class_Course.Course_Id and
classinfo.Class_ID=Teacher_Class_Course.Class_Id
and
Class_Code='1300162'
19. 查询李波同学的上课课表,信息要包括授课老师姓名,课程名称(难5)
select Course_Name,Teacher_Name from
teacherInfo,Teacher_Class_Course,CourseInfo,ClassInfo,StudentInfo where teacherInfo.Teacher_ID=Teacher_Class_Course.Teacher_Id and CourseInfo.Course_ID=Teacher_Class_Course.Course_Id and classinfo.Class_ID=Teacher_Class_Course.Class_Id and StudentInfo.Class_ID=ClassInfo.Class_ID and Student_Name='李波'
select Course_Name,Teacher_Name
from teacherInfo,Teacher_Class_Course,CourseInfo,StudentInfo where teacherInfo.Teacher_ID=Teacher_Class_Course.Teacher_Id and CourseInfo.Course_ID=Teacher_Class_Course.Course_Id and studentinfo.Class_ID=Teacher_Class_Course.Class_Id and Student_Name='李波'
20. 查询陈欣老师所授课课程的学生学号、姓名、课程名和成绩(难5)
select student_code,student_name,course_name,course_grade from
teacherInfo,Teacher_Class_Course,CourseInfo,StudentInfo,student_course
where teacherInfo.Teacher_ID=Teacher_Class_Course.Teacher_Id and CourseInfo.Course_ID=Teacher_Class_Course.Course_Id
and StudentInfo.Class_ID=Teacher_Class_Course.Class_Id and student_course.student_id=studentinfo.student_id and student_course.course_id=courseinfo.course_id and Teacher_name='陈欣'
分组与聚合函数
10易
1、查询每个系部ID所拥有的班级个数。
select Dept_ID 系部ID,count(*) 班级个数 from ClassInfo group by Dept_ID
2、查询每个系部ID所拥有的教师人数。
select Dept_ID 系部ID,count(*) 教师人数 from teacherInfo group by Dept_ID
3、查询每个系部ID所开设的课程门数。
select Dept_ID 系部ID,count(*) 课程门数 from CourseInfo group by Dept_ID
4、查询每个系部ID所开设的课程的学时总数。
select Dept_ID 系部ID,sum(Course_period) 学时总数 from CourseInfo group by Dept_ID
5、查询每个学生ID所学课程的最高成绩。
select Student_ID 学生ID,max(Course_Grade) 最高成绩 from Student_Course group by Student_ID
6、查询每个学生ID所学课程的总成绩。
select Student_ID 学生ID,sum(Course_Grade) 总成绩 from Student_Course group by Student_ID
7、分性别查询学生总人数。
select Student_Sex 性别,count(*) 总人数 from StudentInfo group by Student_Sex
8、分课程性质查询各性质课程的课程门数。
select Course_Type 课程性质,count(*) 课程门数 from CourseInfo group by Course_Type
9、按课程性质查询各性质课程的最高学分与最低学分。
select Course_Type 课程性质,max(Course_Credit) 最高学
分,min(Course_Credit) 最低学分 from CourseInfo group by Course_Type
10、查询每个学生ID所学课程的平均成绩。
select Student_ID 学生ID,avg(Course_Grade) 平均成绩 from Student_Course group by Student_ID 5中
--1、查询各门课程的名称,及其对应的平均成绩、最高成绩。
select Course_Name 课程名称,avg(Course_Grade) 平均成绩 ,max(Course_Grade)
最高成绩
from CourseInfo inner join Student_Course on CourseInfo.Course_ID=Student_Course.Course_ID group by Course_Name
2、查询所有学生的姓名,及其所有课程的总成绩。
select Student_Name 学生姓名,sum(Course_Grade) 课程总成绩 from StudentInfo inner join Student_Course on StudentInfo.Student_ID=Student_Course.Student_ID group by Student_Name
--3、查询所有教师的姓名,及其所教课程的门数。
select Teacher_Name 教师姓名,count(*) 所教课程门数
from teacherInfo inner join Teacher_Class_Course on teacherInfo.Teacher_ID=Teacher_Class_Course.Teacher_ID group by Teacher_Name
4、查询所有班级的名称,及其开设课程的门数。
select Class_Name 班级名称,count(*) 开设课程门数
from ClassInfo inner join Teacher_Class_Course on ClassInfo.Class_ID=Teacher_Class_Course.Class_ID group by Class_Name
5、查询每个学院的名称,及其拥有班级的个数。
select Dept_Desc 学院名称,count(*) 班级个数 from DeptInfo inner join ClassInfo on DeptInfo.Dept_ID=ClassInfo.Dept_ID group by Dept_Desc 3较难
1、统计各班“SQL Server数据库应用”课程的平均分,返回班级名称,课程名称,平均分。 select Class_Name 班级名称,Course_Name 课程名称,avg(Course_Grade) 平均分 from ClassInfo inner join StudentInfo on ClassInfo.Class_ID=StudentInfo.Class_ID inner join Student_Course on
StudentInfo.Student_ID=Student_Course.Student_ID
inner join CourseInfo on Student_Course.Course_ID=CourseInfo.Course_ID where Course_Name='SQL Server数据库应用' group by Class_Name,Course_Name
2、统计班各门课程的最高分,返回班级名称,课程名称,最高分。
select Class_Name 班级名称,Course_Name 课程名称,max(Course_Grade)最高分 from ClassInfo inner join StudentInfo on ClassInfo.Class_ID=StudentInfo.Class_ID inner join Student_Course on
StudentInfo.Student_ID=Student_Course.Student_ID
inner join CourseInfo on Student_Course.Course_ID=CourseInfo.Course_ID where Class_Name='1300161班'
group by Class_Name,Course_Name
3、统计软件学院各系部各门课程的平均分,返回系部名称,课程名称,平均分。
select Dept_Name 系部名称,Course_Name 课程名称,avg(Course_Grade)平均分 from DeptInfo inner join CourseInfo on DeptInfo.Dept_ID=CourseInfo.Dept_ID inner join Student_Course on
CourseInfo.Course_ID=Student_Course.Course_ID where Dept_Desc='软件学院'
group by Dept_Name,Course_Name
select Dept_Name 系部名称,Course_Name 课程名称,avg(Course_Grade)平均分 from DeptInfo inner join ClassInfo on DeptInfo.Dept_ID=ClassInfo.Dept_ID
inner join StudentInfo on ClassInfo.Class_ID=StudentInfo.Class_ID inner join Student_Course on
StudentInfo.Student_ID=Student_Course.Student_ID
inner join CourseInfo on Student_Course.Course_ID=CourseInfo.Course_ID where Dept_Desc='软件学院'
group by Dept_Name,Course_Name 2难
1、统计课程平均分达到分的系部信息,返回学院名称,系部名称,课程名称,平均分>80。并按平均分降序显示。
select Dept_Desc,Dept_Name,Course_Name,avg(Course_Grade)平均分 from DeptInfo inner join CourseInfo on DeptInfo.Dept_ID=CourseInfo.Dept_ID inner join Student_Course on
CourseInfo.Course_ID=Student_Course.Course_ID group by Dept_Desc,Dept_Name,Course_Name having avg(Course_Grade)>80 order by avg(Course_Grade) desc
select Dept_Desc,Dept_Name,Course_Name,avg(Course_Grade)平均分 from DeptInfo inner join ClassInfo on DeptInfo.Dept_ID=ClassInfo.Dept_ID
inner join StudentInfo on ClassInfo.Class_ID=StudentInfo.Class_ID inner join Student_Course on
StudentInfo.Student_ID=Student_Course.Student_ID