两个not exists,要从里层的遍历往外层的遍历看(假设一个班有50个学生,有德日俄三门选修课程)
比如 where not exists
(
->2.比如这里是求选课的人,因为是not,所以是选了德俄课程的人
where not exists
(
甲选了日语(这里求得是课程) ->1.因为是not,所以出来是甲没有选的课程是德俄,然后往外层推
)
)
总结来说,就是先看里层,然后就不断取反
外层是学生遍历,内层是课程遍历
就是内层我们得到是没选的课程是德俄,然后外层出来后就是选了德俄的学生是谁这个意思