在表之间编写SQL查询

时间:2014-11-08 11:31:50

标签: sql database

我可以编写哪个SQL查询来满足这个需求:

"列出从名为John的教练那里学习课程的学生的姓名。"

schema

2 个答案:

答案 0 :(得分:1)

从所描述的关系中不确定是否可以。

您可以通过选择 InstructorID 并过滤Instructor.FirstName来识别导师。

您可以通过讲师课程加入表加入讲师ID ,然后将结果加入课程 <强> CourseID

通过这种方式, Instructor.InstructorID - &gt; (InstructorCourses.InstructorID,InstructorCourses.CourseID) - &gt; Courses.CourseID

这使您可以找到有关教师按其姓名过滤所教课程的信息。

您不会在图表中显示学生和课程之间的任何链接。我怀疑你错过了 StudentCourses 的关系,它应该与 InstructorCourses 相似,而是将学生与课程联系起来。通过混合中的数据,您可以扩展联接以使学生与您已有的关系中的课程相匹配。

您的图表暗示了学生讲师课程之间的关系,这似乎是不正确的 - 因为没有要加入的键,也因为逻辑关系不是正确。我认为这可能是一个错误。

答案 1 :(得分:0)

不可能满足您需要的SQL查询,因为您的概念不允许,因为2个表StudentInstructorCourses之间没有任何关系。