SQL 自连接

SQL Server 的自连接用于将表 1 连接到自身。如果我们在同一个表中同时拥有主键和外键,那么我们可以使用此自连接将它们连接起来,语法如下。

SELECT Tab1.Column(s), Tab2.Column(s),
FROM Table1 AS Tab1, 
     Table1 AS Tab2

对于此自连接演示,我们将使用数据库中的 Employees 表。如您所见,它有 15 条不同的记录,每个人都属于一个部门。我们有外键列 DepartID。

SQL Server 自连接示例

通常,每个部门都会有一个主管,他也是员工之一。要获取部门主管的姓名,我们需要使用主键和外键进行自连接。例如,以下自连接查询将显示 Employees 表中每个人的主管姓名。

注意:别名名称对此是强制性的。

SELECT EMP1.[FirstName]
      ,EMP1.[LastName]
   ,EMP1.[Department Name]
   ,EMP2.[FirstName] +' '+ EMP2.[LastName] AS [Department Head]
  FROM [Employees] AS EMP1, [Employees] AS EMP2
  WHERE EMP1.DepartID = EMP2.ID

从下面的 服务器 屏幕截图中可以看出,Rob Walter 不仅是高级软件开发人员,也是组织中其余高级软件开发人员的部门主管。当您的单个表中存在 主键外键 时,请使用此方法。

SELF JOIN Table to itself 2

评论已关闭。