【sql:练习题10】查询没学过"张三"老师讲授的任一门课程的学生姓名

题目:查询没学过"张三"老师讲授的任一门课程的学生姓名

分析:这个题目跟之前的题目很相似,思路是先查出  学过"张三"老师讲授的任一门课程的学生姓名,然后再反向查

学过"张三"老师讲授的任一门课程的学生姓名?

先找"张三"老师 的teacher id  通过 teacher id 找到对应的课程,然后在学生分数表中根据course  in  找到学过 张三"老师 授课的学生群体,再通过学生表 not in  

找到 没有学过张三"老师 授课的学生群体

sql:

SELECT student.* FROM student WHERE student.id NOT IN
      (SELECT student_score.studentid FROM student_score
       WHERE student_score.courseid IN
              (SELECT student_course.id FROM student_course,teacher
              WHERE student_course.teacherid = teacher.id AND teacher.teacher_name = '张三'));

猜你喜欢

转载自www.cnblogs.com/yuanyuan2017/p/11327697.html