设有关系S(S#,SNAME,AGE,SEX)、C(C#,CNAME,TEACHER)和SC(S#,C#,GRADE),请将实现以下功能的SQL语句填写完整:[br][/br] (4)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。 [br][/br] 方法1: SELECT C#,CNAME FROM C WHERE (SELECT * FROM S WHERE (SELECT * FROM SC WHERE C.C#=SC.C# AND S.S#=SC.S#)) 方法2: select c#,cname from c where c# in( select c# from sc group by having count(distinct s#)=(select count(*) from ))
举一反三
- 查询选修了课程号为'C2'的学生号和姓名,若用下列SQL的SELECT语句表达时,哪一个是错误的?() A: SELECT S#,SNAME FROM S WHERE S# = (SELECT SS# FROM SC WHERE C# = 'C2' ) B: SELECT S#,SNAME FROM S,SCWHERE S# = SS# AND C# = 'C2' C: SELECT S#,SNAME FROM S,SC WHERE S# = SS# AND C# = 'C2' ORDER BY S# D: SELECT S#,SNAME FROM S WHERE S# IN (SELECT SS# FROM SC WHERE C# ='C2' )
- 查询选修了课程号为C2的学生号和姓名,用下列SQL的SELECT语句表达时,哪一个是错误的( ) A: SELECT S.S#,SNAME FROM S WHERE S.S# B: =(SELECT SC) S# FROM SC WHERE C#=‘C2’) C: SELECT S.S#,SNAME FROMS,SC D: WHERE S.S# S E: S# AND C#=‘C2’C) SELECT S. S#,SNAME FROM S,SC F: WHERE S.S# SC) S# AND C#=‘C2’ORDER BY S.S# G: SELECT S.S#,SNAME FROM S
- 查询选修了课程号为“C1”的学生的姓名和年龄,若用下列SQL的SELECT语句表达时,错误的是( )。 A: SELECT SNAME,AGE FROM S WHERE B: S#=(SELECT S C: S#FROM SC WHERE D: C#='C1') E: SELECT SNAME,AGE FROM S,SC WHERE F: S#=S G: S# AND S H: C#='C1' I: SELECT SNAME,AGE FROM S,SC WHERE J: S#=S K: S# AND S L: C#='C1' ORDERBY M: S# N: SELECT SNAME,AGE FROM S WHERE O: S#=(SELECT S P: S# FROM SC WHERE S Q: C#='C1')
- 有关系S(S#,SNAME,SAGE),C(C#,CNAME),SC(S#,C#,GRADE)。若要查找分数(grade)不及格的学生姓名(sname),则以上正确的有?( ) A: SELECT sname FROM s, sc WHERE grade<60 B: SELECT sname FROM s WHERE sno IN(SELECT Cno FROM sc WHERE grade<60) C: SELECT sname FROM s, sc WHERE s.sno=sc.sno AND grade<60 D: SELECT sname FROM s, sc WHERE s.sno=sc.sno OR grade<60
- 有关系S(S#,SNAME,SAGE),C(C#,CNAME),SC(S#,C#,GRADE)。若要查找分数(grade)不及格的学生姓名(sname),则以上正确的有?( ) A: SELECT sname FROM s, sc WHERE grade<60 B: SELECT sname FROM s WHERE sno IN(SELECT Cno FROM sc WHERE grade<60) C: SELECT sname FROM s, sc WHERE s.sno=sc.sno AND grade<60 D: SELECT sname FROM s, sc WHERE s.sno=sc.sno OR grade<60