需要数据库查询帮助

Database Query Help needed

所以这是我拥有的数据库:https://imgur.com/EmQm9vx

自从我上次使用 MySQL 数据库以来已经有一段时间了,所以我有一些问题需要解决。

首先,我需要编写一个查询,可以显示学生的姓名和他们注册的 class。我正在尝试使用 WHERE 做一些事情,但我迷路了很多。

解决方案:使用 JOIN 是可行的方法,因为您需要连接 3 个表。

从第一个问题开始。我们有一个多对多的关系,其中 student_class 将每个 student_id 链接到 class_id,但是名字存储在链接的学生 table 和 class [=17 中=].所以我们需要加入所有三个 tables.

SELECT student.name, class.name
  FROM student
  JOIN student_class
    ON student.id = student_class.student_id
  JOIN class
    ON class.id = student_class.class_id
;

您需要根据学生ID将学生table与class_registrationtable内部加入,然后将class_registrationtable与class加入table 基于 classID.

SELECT student.Name, class.ClassName
  FROM student
  inner join class_registration 
    ON student.id = class_registration.StudentId
 inner join class
    ON class.classid = class_registration.ClassId
;