使用 MySQL 連接多個表:綜合指南
管理資料庫時,經常需要從多個表中檢索資料。 MySQL 提供了強大的 JOIN 運算符,可讓您根據公用欄位組合來自不同資料表的資料。
在MySQL 中聯接三個表
在提供的範例中,目標是從三個表中檢索學生姓名及其所學課程:Student、Course和Bridge。 Bridge 表充當中介,將學生連結到課程。
使用 INNER JOIN
要實現此目的,請使用 INNER JOIN 語法,該語法與 Student 中的行相匹配和基於 Bridge中的值的課程表table:
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;
規範化形式:尋找管理關係
在第二個範例中,您想要從員工和管理表中確定誰管理誰。
使用SQL JOIN語法
以規範化形式檢索此資訊:
SELECT e1.name AS Manager, e2.name AS Staff FROM employee e1 JOIN manage m ON e1.id = m.mid JOIN employee e2 ON m.eid = e2.id;
ANSI 語法以提高清晰度
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; SELECT e1.name AS Manager, e2.name AS Staff FROM employee e1 JOIN manage m ON e1.id = m.mid JOIN employee e2 ON m.eid = e2.id;建議使用ANSI文法為了提高清晰度和可讀性:
以上是MySQL中如何有效率地連接多個表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!