SC (S#, C#, GRADE) 检索选修课程号为C2或C的学生学号。 seLeCt S+ FROM SC WHERE C+=C2 oR C#=C4 检索至少选修课程号为C2和C的学生学号。 SELECTⅩ,S FROM SC AS X, SC AS Y WhErE X S#=Y sit ANd X c#=C2 AND YC#=C4
26 SC(S#,C#,GRADE) ◼检索选修课程号为C2或C4的学生学号。 SELECT S# FROM SC WHERE C#='C2' OR C#='C4' ; ◼检索至少选修课程号为C2和C4的学生学号。 SELECT X.S# FROM SC AS X,SC AS Y WHERE X.S#=Y.S# AND X.C#='C2' AND Y.C#='C4' ;
S(S#, SNAME, AGE, SEX) SC (S#, C#, GRADE) 检索不学C2课程的学生姓名与年龄 SELECT SNAME, AGE FROM S WHERE S# NOT IN ( sElECt S# FROM SC WHERE C#=C2) 或者: SELECT SNAME, AGE FROM S WHERE NOT EXISTS (SELECT FROM SC WHERE SC S#=SS# AND C#=C2) 注:这个查询不能使用连接查询写法
27 S(S#,SNAME,AGE,SEX) SC(S#,C#,GRADE) 检索不学C2课程的学生姓名与年龄 SELECT SNAME,AGE FROM S WHERE S# NOT IN(SELECT S# FROM SC WHERE C#='C2'); 或者: SELECT SNAME,AGE FROM S WHERE NOT EXISTS (SELECT * FROM SC WHERE SC.S#=S.S# AND C#='C2'); 注:这个查询不能使用连接查询写法
S(S#, SNAME, AGE, SEX) SC (S+, C#, GRADE) C(C#, CNAME, TEACHER) 检索学习全部课程的学生姓名。 SELECT SNAME FROM S WHERE NOT EXISTS SELECT米 FROm C WHERE NOT EXISTS (SELECT * FROM SC WHERE SC. S#=S stt AND SC. C#=C. C#t))
28 S(S#,SNAME,AGE,SEX) SC(S#,C#,GRADE) C(C#,CNAME,TEACHER) 检索学习全部课程的学生姓名。 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#));
SC (S#, C+, GRADE) 检索所学课程包含学生S3所学课程的学号。 SELECT DISTINCT S# FROM SC AS X WHERE NOT EXISTS SELECT来 FROM SC AS Y WHERE Y S#=S3 AND NOT EXISTS ( SELECT米 FROM SC AS Z WhERE Z S#=X sit AND Z C#=Y C#))
29 SC(S#,C#,GRADE) 检索所学课程包含学生S3所学课程的学号。 SELECT DISTINCT S# FROM SC AS X WHERE NOT EXISTS (SELECT * FROM SC AS Y WHERE Y.S#='S3' AND NOT EXISTS (SELECT * FROM SC AS Z WHERE Z.S#=X.S# AND Z.C#=Y.C#));
SELECT语句的图示形式(1) 检索学习课程号为C2的学生学号与成绩。 图中“P.”(即 print)表示用户需 要的数据,“C2”为常量。 S# C# GRADE C2 30
30 SELECT语句的图示形式(1) ◼ 检索学习课程号为C2的学生学号与成绩。 图中“P. ”(即print)表示用户需 要的数据, “C2”为常量。 SC S# C# GRADE P. C2 P