考慮以下表如何在自循環表中導航?
create table EMPLOYEE
(
empno NUMBER not null,
ename VARCHAR2(100),
salary NUMBER,
hiredate DATE,
manager NUMBER
);
alter table EMPLOYEE add constraint PK_EMP primary key (EMPNO);
alter table EMPLOYEE
add constraint FK_MGR foreign key (MANAGER)
references EMPLOYEE (EMPNO);
其是自循環表即每個僱員擁有管理器,除了根。
我想運行在此表下面的查詢:
找到比他們的管理者更多的薪金所有的員工?
附:
只有一個根在結構
考慮下面的查詢
SELECT LPAD(emp.ename, (LEVEL-1)*5 + LENGTH(emp.ename), ' ') AS "Hierarchy"
FROM employee emp
START WITH emp.manager IS NULL
CONNECT BY manager = PRIOR empno;
結果會是這樣的:
Alice
Alex
Abbey
Sarah
Jack
Bill
Jacob
Valencia
Bob
Babak
...
我做下面的查詢
SELECT LPAD(emp.ename, (LEVEL-1)*5 + LENGTH(emp.ename), ' ') AS "Hierarchy"
FROM employee emp
START WITH empno IN (SELECT empno FROM employee)
CONNECT BY PRIOR manager = empno;
它爲員工表中的每個員工從下到上創建一個子樹,但我不知道如何瀏覽以獲得期望的結果!
首先讓我們知道你已經嘗試過什麼? –
經理可以在他上面有經理嗎?之後的下一個,等等?在這種情況下,你希望查詢返回什麼? (就像Deepak說的,告訴我們你到目前爲止) – sstan
不,表中只有一個根 –