现有“学生-选课-课程”关系数据库如下: 学生表S(Sno,Sname,Sage,Ssex,Sdept),各属性含义依次为学号,姓名,年龄,性别,所在系; 选课表SC(Sno,Cno,Grade),各属性含义依次为学号,课程号,成绩; 课程表C(Cno,Cname,Cteacher),各属性含义依次为课程号,课程名,授课教师 ; 试用SQL语言完成以下操作:
检索选修了“王杰”老师所授课程的学生的学号和姓名;
参考答案:
方法A:
SELECT Sno,Sname
FROM S,SC,C
WHERE S.Sno=SC.Sno
AND SC.Cno=C.Cno
AND C.Cteacher=‘王杰’
方法B:
SELECT Sno,Sname
FROM S
WHERE Sno IN
(SELECT Sno
FROM SC
WHERE Cno IN
(SELECT Cno
FROM C
WHERE Cteacher =‘王杰’))