SELECT SnameFROM StudentWHERE NOT EXISTS(SELECT *FROM CourseWHERE NOT EXISTS(SELECT *FROM SCWHERE Sno= Student.SnoAND Cno= Course.Cno));
这个东西一直都是一个难点,我来解释一下:
最里一层:选出选了的“学生+课”
中间一层:选出“没选的课”
最外一层:选出没有选“没选的课”的学生,也就是全部选修的学生