如何引用Oracle中同一个表中的其他行

时间:2013-10-23 19:07:15

标签: sql oracle oracle11g

我不确定如何写标题。所以,这是:

我有一张医生桌,每位医生都有一位主管,也是医生之一。

Name                                      Null?    Type
----------------------------------------- -------- -------------
DOC_ID                                    NOT NULL NUMBER(3)
DOC_NAME                                           VARCHAR2(9)
DATEHIRED                                          DATE
SALPERMON                                          NUMBER(12)
AREA                                               VARCHAR2(20)
SUPERVISOR_ID                                      NUMBER(3)
CHGPERAPPT                                         NUMBER(3)
ANNUAL_BONUS                                       NUMBER(5)

如果您注意到,那么SUPERVISOR_ID也是另一行上的DOC_ID。我的问题是如何显示每位医生的主管姓名?

1 个答案:

答案 0 :(得分:3)

尝试这样的事情:

SELECT d1.*,d2.DOC_NAME
FROM DOCTOR d1
INNER JOIN DOCTOR d2 ON d1.SUPERVISOR_ID = d2.DOC_ID;

您使用相同的表执行INNER JOIN,其行为就像您从另一个表中获取DOC_NAME一样。