自连接(self-join) 是一种将表连接到自身的连接——当表中的行与同一张表中的其他行相关时很有用,例如层级关系(员工及其经理)或在表内比较行。
经典示例:员工与经理
text
employees table — manager_id references another employee's id (in the SAME table):
id | name | manager_id
1 | Ann | NULL (Ann is the boss)
2 | Bob | 1 (Bob's manager is Ann)
3 | Carol | 1 (Carol's manager is Ann)
sql
e.name employee, m.name manager
employees e
employees m e.manager_id m.id;
