首頁 >資料庫 >mysql教程 >如何在 MySQL 中連接多個表來檢索層次結構和關聯式資料?

如何在 MySQL 中連接多個表來檢索層次結構和關聯式資料?

Linda Hamilton
Linda Hamilton原創
2024-12-14 21:01:10264瀏覽

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