select Sid, Sname from 成绩表 a1,学生表 a2 where Cid=001 and a1.SCSid=a2.Sid intersect select Sid, Sname from 成绩表 a1,学生表 a2 where Cid=002 and a1.SCSid=a2.Sid
就是先求出学过001的学生学号和姓名,再求出学过002的学生学号和姓名,最后求出他们的交集
select student.Sid,student.Sname
from student,课程表,成绩表
where student.Sid=成绩表.SCSid and 成绩表.Cid=课程表.CourseCid and 课程表.CourseCid="001" or 课程表.CourseCid="002"
group by student.Sid,student.Sname
having count(*)=2;