MySQL 中的连接表
在 MySQL 中,连接表允许我们基于共享列组合来自多个表的数据。在这个问题中,我们的目标是连接三个表来检索特定信息。
连接 Student、Course 和 Bridge 表
给定的数据包括三个表: Student (保存学生姓名)、课程(包含课程名称)和 Bridge(将学生 ID 连接到课程 ID)。要检索所需的结果(列出学生姓名和所学课程名称),您必须使用 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;
此查询将生成预期结果,显示每个学生的姓名及其所修读的课程学习了。
加入员工并管理表
第二部分问题,我们有两个表:Employee(保存员工姓名)和 Manage(将经理 ID 与员工 ID 连接起来)。要检索所需的结果(列出经理及其员工),您必须再次使用内部联接:
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;
此查询将提供预期结果,显示每个经理的姓名及其员工的姓名。
以上是如何在MySQL中连接多个表来检索相关数据?的详细内容。更多信息请关注PHP中文网其他相关文章!