以下是一个简单的例子,假设有一个名为 "organization" 的表,其中包含了组织结构的信息,如下:
CREATE TABLE organization (
id INT,
name VARCHAR(255),
parent_id INT
);
INSERT INTO organization VALUES (1, '总公司', NULL);
INSERT INTO organization VALUES (2, '分公司A', 1);
INSERT INTO organization VALUES (3, '分公司B', 1);
INSERT INTO organization VALUES (4, '部门1', 2);
INSERT INTO organization VALUES (5, '部门2', 2);
INSERT INTO organization VALUES (6, '部门3', 3);
现在,如果你想查询总公司下的所有子公司和部门,可以使用 CONNECT BY 子句,如下所示:
SELECT * FROM organization
START WITH id = 1
CONNECT BY PRIOR id = parent_id;
这个查询会返回总公司、分公司A、分公司B以及它们下属的部门的信息。在 CONNECT BY 子句中,PRIOR 关键字用于指定连接条件。
请根据你的实际表结构和数据进行相应的调整。
转载请注明出处:http://www.pingtaimeng.com/article/detail/11738/OceanBase