【问题标题】:How to SELECT query including a junction table如何选择包含联结表的查询
【发布时间】:2020-05-28 10:18:31
【问题描述】:

我有三张桌子:

学生

student_ID
Firstname
Lastname

课程

course_ID
course_Name
semester

注册

student_ID
course_ID

enroll 是联结表,而不是多对多关系。

我需要创建一个 SELECT 语句,它将在注册后从两个表中返回四列:student_IDFirstnamecourse_IDcourse_Name。在登记表中,我只能通过那里的主键查看哪个 student_ID 在哪个 course_ID 中登记。但是,如果我想查看特定 student_ID 注册的具有特定 course_ID 的课程名称引用是什么,我应该如何编写查询。

实际上,我想在一个网站上获取student_IDFirstnamecourse_IDcourse_name,以查看哪些学生注册了哪些course_name,而不仅仅是course_name。这就是为什么我认为我需要编写一个选择查询。

如果有人可以帮助我,那将会很有帮助。

【问题讨论】:

  • mysql <> sql-server... 选择一个!
  • 一旦您清楚自己使用的是什么 RDBMS,我建议您对联接进行一些研究。

标签: php mysql sql-server database


【解决方案1】:

这应该适用于 mysql 或 sql server,你没有说你使用的是哪个。如果您有很多或行,您可能想要限制它或使用 where 子句。

SELECT students.studen_ID, students.Firstname, course.course_ID, course.course_Name
FROM students
JOIN enroll ON (enroll.student_ID = students.student_ID)
JOIN course ON (course.course_ID = enroll.coruse_ID)

【讨论】:

    猜你喜欢
    • 2012-07-22
    • 1970-01-01
    • 1970-01-01
    • 2015-05-13
    • 2019-04-17
    • 1970-01-01
    • 2019-03-28
    • 1970-01-01
    • 2015-12-22
    相关资源
    最近更新 更多