语法:
SELECT ... FROM + 表名
START WITH +
条件1
CONNECT BY PRIOR + 条件2
WHERE
+ 条件3
说明:
这个方法是用来查询树状结构的数据的。举个例子,我们有一个这样的结构
然后建一个这样的表,插入数据。
CREATE TABLE TEST(
ID NUMBER(2) PRIMARY
KEY,
PARENT_ID NUMBER(2)
);
INSERT INTO TEST (ID, PARENT_ID) VALUES (1, 0);
INSERT INTO TEST (ID, PARENT_ID) VALUES (2, 1);
INSERT INTO TEST (ID, PARENT_ID) VALUES (3, 1);
INSERT INTO TEST (ID, PARENT_ID) VALUES (4, 2);
INSERT INTO TEST (ID, PARENT_ID) VALUES (5, 2);
INSERT INTO TEST (ID, PARENT_ID) VALUES (6, 3);
INSERT INTO TEST (ID, PARENT_ID) VALUES (7, 3);
现在,我们可以开始查询了。
比如,我们要查询ID为3的子节点有哪些:
SELECT * FROM TEST START WITH ID = 3
CONNECT BY PARENT_ID = PRIOR ID;
结果:
查询1的子节点:
查询3的父节点有哪些:
SELECT * FROM TEST START WITH ID = 3
CONNECT BY PRIOR PARENT_ID = ID
结果:
查询7的父节点有哪些:
基本用法就是这样了