Chinaunix

标题: SQL语句问题,请教各位大大! [打印本页]

作者: mhkk    时间: 2003-07-23 11:18
标题: SQL语句问题,请教各位大大!
有如下表
S(S#,SNAME)    ※※ 学生表(学号,姓名)
C(C#,CNAME)   ※※课程表(课程号,课程名)
SC(S#,C#,GRADE)    ※※ 成绩表(学号,课程号,成绩)

现要求检索学习全部课程的学生姓名,请问是否可用如下的SELECT 语句:

SELECT SNMAE FROM S WHERE  EXISTS
               (SELECT * FROM C WHERE  EXISTS
                             (SELECT * FROM SC WHERE
                                                   SC.S#=S.S# AND SC.C#=C.C#))



请指教,谢谢!
作者: wolfeyes    时间: 2003-07-23 12:13
标题: SQL语句问题,请教各位大大!
select s#
   from s
where s# not in(  
   select s#
        from s,c
     where (s#,c#) not in (select s#,c#
                                           from sc))
作者: mhkk    时间: 2003-07-23 16:07
标题: SQL语句问题,请教各位大大!
实际建表试了一下,不行!我的SELECT 语句找出的是选了课的学生姓名。还是应该用
SELECT SNAME FROM S WHERE NOT EXISTS
   (SELECT * FROM C WHERE NOT EXISTS
          (SELECT * FROM SC WHERE
                                  SC.S#=S.S# AND SC.C#=C.C#))
作者: mhkk    时间: 2003-07-23 16:33
标题: SQL语句问题,请教各位大大!
SELECT * FROM S WHERE EXISTS( select s# from sc WHERE SC.S#=S.S# group by s# having count(c#) = (select count(*) from c));




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2