CR CREATE TABLE USERS.TBL_TEST ( ID NUMBER, NAME VARCHAR2(100 BYTE), PID NUMBER DEFAULT 0 ) INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('1','10','0'); INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('2','11','1' INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('3','20','0'); INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('4','12','1'); INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('5','121','2'); 2、格式 Select * from …. Where [結果過濾條件語句] Start with [and起始條件過濾語句] Connect by prior [and中間記錄過濾條件語句] 3、查找全部下級 select * from tbl_test start with id=1 connect by prior id=pid 注意:此sql能查找id=1的數據的全部下級,寫sql語句時要注意,由於是從id開始查找下級,因此connect by prior 子句的條件是id=pid 4、查找全部上級 select * from tbl_test start with id=5 connect by prior pid=id 由於是從id開始查找上級,因此connect by prior 子句的條件是pid=d