题目总览
10.查询没学过[张三]老师讲授的任一门课程的学生姓名
11.查询两门及其以上不及格课程的同学的学号,姓名及其平均成绩
12.检索01课程分数小于60,按分数降序排列的学生信息
13.按平均成绩从高到低显示所有学生的所有课程的成绩以及平均成绩1
14.查询各科成绩最高分、最低分和平均分
15.按各科成绩进行排名,并显示排名,score重复时继续排序
16.查询学生的总成绩,并进行排名,总分重复时保留名次空缺
17.统计各科成绩分数段人数,课程编号,课程名称,[100-85][85-70][70-60][60-0]及所占百分比
18.查询各科成绩前三名的记录
10.查询没学过[张三]老师讲授的任一门课程的学生姓名
-- 1.先查询出选修了张三老师讲授课程的sid --
SELECT s.sid
FROM teacher t
LEFT JOIN course c
ON t.tid = c.tid
LEFT JOIN sc
ON c.cid = sc.cid
LEFT JOIN student s
ON sc.sid = s.sid
WHERE tname = "张三";
-- 2.与学生表student关联,筛选出不在以上结果内的sid --
SELECT s.*
FROM student s
WHERE sid NOT IN (SELECT s.sid
FROM teacher t
LEFT JOIN course c
ON t.tid = c.tid
LEFT JOIN sc
ON c.cid = sc.cid
LEFT JOIN student s
ON sc.sid = s.si