SQL,获取外键值.外键引用同一个表

Are*_*yst 3 sql sql-server select key

MS SQL Server数据库.

我有这个简单的结构:(抱歉主键不在正确的位置)

在此输入图像描述

在TEACHER表中,我有一个外键"Chief",它引用了TEACHER.ID(同一个表).在进行SELECT查询时,我怎么能得到一个整数(Teacher.ID),而不是一个Chief的名字(TEACHER.Name for Chief)?

这个只得到一个整数(Chief的ID):

SELECT DEPARTMENT.Name, TEACHER.Name, TEACHER.IDCode, POST.Name, TEACHER.Tel, TEACHER.Salary, TEACHER.Rise, TEACHER.HireDate, Chief
FROM TEACHER, DEPARTMENT, POST
WHERE TEACHER.ID_Post = POST.ID AND
    TEACHER.ID_Department = DEPARTMENT.ID;
GO
Run Code Online (Sandbox Code Playgroud)

Mah*_*mal 10

JOINTEACHER表中的一个更多的时间,像这样:

SELECT 
  d.Name, 
  t.Name, 
  t.IDCode, 
  p.Name, 
  t.Tel, 
  t.Salary, 
  t.Rise, 
  t.HireDate, 
  chief.Name 'Chief Name'
FROM TEACHER t 
INNER JOIN TEACHER chief ON t.Chief = chief.ID
INNER JOIN DEPARTMENT d ON t.ID_Department = d.ID
INNER JOIN POST p ON t.ID_Post = p.ID;
Run Code Online (Sandbox Code Playgroud)

并使用ANS-SQL-92 JOIN语法而不是您在查询中使用的旧语法.它们是相同的,但这是推荐的语法.