首页 >数据库 >mysql教程 >如何在 MySQL 中连接多个表来检索层次结构和关系数据?

如何在 MySQL 中连接多个表来检索层次结构和关系数据?

Linda Hamilton
Linda Hamilton原创
2024-12-14 21:01:10265浏览

How to Join Multiple Tables in MySQL to Retrieve Hierarchical and Relational Data?

连接 MySQL 中的多个表

连接学生表、课程表和桥接表

检索学生姓名和他们学过的课程,我们可以加入三个表:Student、Course、Bridge。 Bridge 表分别通过 sid 和 cid 列建立学生和课程之间的关系。

为清楚起见,使用 ANSI 语法,连接这些表并检索所需结果的正确查询是:

SELECT s.name AS Student, c.name AS Course
FROM Student s
INNER JOIN Bridge b ON s.id = b.sid
INNER JOIN Course c ON b.cid = c.id
ORDER BY s.name;

示例结果:

Student Course
Ahmed Physic
Ahmed Maths
Ahmed Computer
Ahmed Chemistry
Ali Physic
Ali Maths
John Computer
John Chemistry
King Physic
King Maths

加入 Employee 和 Manage 表进行层次结构

要检索经理和员工的层次结构,我们可以加入 Employee 和 Manage分别使用列 id 和 eid 的表。以下是对此的查询:

SELECT e1.name AS Manager, e2.name AS Staff
FROM Employee e1
INNER JOIN Manage m ON e1.id = m.mid
INNER JOIN Employee e2 ON m.eid = e2.id;

示例结果:

Manager Staff
Ali King
Ali Mak
Mak Sam
Sam Jon

以上是如何在 MySQL 中连接多个表来检索层次结构和关系数据?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn