连接学生表、课程表和桥接表
检索学生姓名和他们学过的课程,我们可以加入三个表: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中文网其他相关文章!