-- 查询课程编号为“01”的课程比“02”的课程成绩高的所有学生的学号select s_id, s_score from score where c_id ='01';select s_id, s_score from score where c_id ='02';select a.s_id from(select s_id, s_score from score where c_id ='01') a
innerjoin(select s_id, s_score from score where c_id ='02') b
on a.s_id = b.s_id
where a.s_score > b.s_score;
-- 查询所有学生的学号、姓名、选课数、总成绩select student.s_id, s_name,count(c_id),sum(casewhen s_score isnullthen0else s_score end)from student
leftjoin score s on student.s_id = s.s_id
groupby student.s_id, s_name;
查询没学过张三老师课程的学生的学号和姓名;
-- 查询没学过张三老师课程的学生的学号和姓名;select student.s_id
from student
innerjoin score s on student.s_id = s.s_id
innerjoin course c on s.c_id = c.c_id
innerjoin teacher t on c.t_id = t.t_id
where t_name ='张三';select s_id, s_name
from student
where s_id notin(select student.s_id
from student
innerjoin score s on student.s_id = s.s_id
innerjoin course c on s.c_id = c.c_id
innerjoin teacher t on c.t_id = t.t_id
where t_name ='张三');