SELECT Sname
        FROM Student
        WHERE NOT EXISTS
                    (SELECT *
                        FROM Course
                        WHERE NOT EXISTS
                                      (SELECT *
                                       FROM SC
                                       WHERE Sno= Student.Sno
                                             AND Cno= Course.Cno
                                       )
                       ); 
不知道是什么意思,希望高手详细的解释。

解决方案 »

  1.   

    先过滤掉sc表里的,然后用course表里有而sc里满足条件的没有,再student里有而course里没有一步步去过滤掉条件就可以了。
      

  2.   

    查出 没有 SC的sutdent
      

  3.   

    Course表的数据不存在于SC表(取SC表没有的数据),Student表又不存在于Course表(取Course表没有的数据)
      

  4.   

    SELECT Sname
    FROM Student
    WHERE NOT EXISTS
      (SELECT *
      FROM Course
      WHERE NOT EXISTS 
      (SELECT *
      FROM SC
      WHERE Sno= Student.Sno --这个句子有问题,在这一层识别不到Student表。
      AND Cno= Course.Cno
      )
    )
      

  5.   

    嵌套型循环:for(第一条记录Student.Sno,遍历至表尾Student.Sno,下一条记录Student.Sno)
    for(第一条记录Course.Cno,遍历至表尾Course.Cno,下一条记录Course.Cno)
    {
    WHERE Sno= Student.Sno AND Cno= Course.Cno  进入SC表进行匹配,匹配成功为真,否则为假
    }