自我加入

表可以在所謂的自聯接中連線到自身,將表中的記錄與同一表中的其他記錄組合在一起。自連線通常用於定義表的列中的層次結構的查詢中。

考慮名為 Employees 的表中的示例資料:

ID 名稱 Boss_ID
1 短髮 3
2 吉姆 1
3 山姆 2

每個員工的 Boss_ID 對映到另一個員工的 ID。要檢索具有各自老闆名稱的員工列表,可以使用此對映將表連線起來。請注意,以這種方式連線表需要在對錶的第二個引用上使用別名(在本例中為 Bosses),以區別於原始表。

SELECT Employees.Name,
    Bosses.Name AS Boss
FROM Employees
INNER JOIN Employees AS Bosses 
    ON Employees.Boss_ID = Bosses.ID

執行此查詢將輸出以下結果:

名稱 老闆
短髮 山姆
吉姆 短髮
山姆 吉姆