自我加入
表可以在所謂的自聯接中連線到自身,將表中的記錄與同一表中的其他記錄組合在一起。自連線通常用於定義表的列中的層次結構的查詢中。
考慮名為 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
執行此查詢將輸出以下結果:
名稱 | 老闆 |
---|---|
短髮 | 山姆 |
吉姆 | 短髮 |
山姆 | 吉姆 |