: 99年高考
: 已知有一学校的资料库纲目(database schema)如下:
: Student(SID, SName, SAge, Address) //学生(学号、姓名、年龄、地址)
: Teacher(TID, TName, TAge, Office#) //老师(老师编号、姓名、年龄、办公室)
: Course(CID, CTitle, Credit) //课程(课程编号、课名、学分数)
: Take(CID, TID, SID, Score) //修课(课程编号、老师编号、学生编号、分数)
: 请找出有那些学生,他们修了TName = “Harrison Ford”
: 这位老师所开设的所有课程,请列出这些学生的SName。(10分)
这题这样改可不可以?
SELECT Sname
FROM Student, Take, Teacher (这里一定要 join 吗? 直接cartisian product?)
WHERE TName='Harrison Ford'
GROUP BY Sname
HAVING Count (SName) = Count (*)(
SELECT CID,TName
FROM course, Teacher
WHERE TName='Harrison Ford')
※ 编辑: sanhsia 来自: 124.8.230.138 (09/18 21:10)