Sql 如何选择多对多关系表?
我试图从以下表格中提取数据Sql 如何选择多对多关系表?,sql,database,Sql,Database,我试图从以下表格中提取数据 [ tutors ] [ majors ] [ courses ] [ bundle ] [bundle_courses] |id | |id | |id | |id | |id | |name | |title | |title | |tutor_id | |course_id | |email |
[ tutors ] [ majors ] [ courses ] [ bundle ] [bundle_courses]
|id | |id | |id | |id | |id |
|name | |title | |title | |tutor_id | |course_id |
|email | |major_id | |major_id | |bundle_id |
|major_id |
因此,每个导师都有许多捆绑包,其中包含导师教授的许多课程。每个捆绑包都包含来自同一专业的课程,因此有专业id。因此,我需要选择导师的名称,每个捆绑包都有与该捆绑包相关的课程,以及捆绑包的专业。我不知道该怎么做,我想知道是否可以在一个查询中进行。提前感谢您的帮助 是的,这是可能的
首先,了解如何联接1个表,然后在单个select语句中联接多个表
我不会为你做所有的家庭作业,但看起来应该是这样的
SELECT <fields>
FROM <some_table>
JOIN <another_table> ...
JOIN ....
:
:
WHERE ...
您正在寻找加入。是的,这就是我正在使用的。对不起,我可能应该记下我以前尝试过的查询。我在做多重内部连接。我只是对变量的位置感到困惑。我终于让它工作了,这就是查询的样子。这对我有用。选择T.name、C.title、M.title FROM tutors T INNER JOIN bundles B on B.tutor\u id=T.id INNER JOIN majors M on B.major\u id=M.id INNER JOIN bundle\u course BC on BC.bundle\u id=B.id INNER JOIN courses C on BC.course\u id=C.idBingo!干得好