連接學生表、課程表和橋接表
檢索學生姓名和他們學過的課程,我們可以加入三個表格: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中文網其他相關文章!