国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

如何使用start with connect by prior遞歸用法

在Oracle數據庫中,當需要查詢樹結構類型的數據時,可以使用start with connect by prior遞歸查詢。這種方法非常方便,只需指定一個起始節(jié)點,就能查詢到該節(jié)點以上以及以下的所有

在Oracle數據庫中,當需要查詢樹結構類型的數據時,可以使用start with connect by prior遞歸查詢。這種方法非常方便,只需指定一個起始節(jié)點,就能查詢到該節(jié)點以上以及以下的所有樹形層級。

創(chuàng)建測試表

為了更好地介紹如何使用start with connect by prior遞歸查詢,首先需要創(chuàng)建一個測試表,并結合示例來說明。

CREATE TABLE t_menu(
    menu_id varchar2(32),
    parent_id varchar2(32)
);
INSERT INTO t_menu VALUES ('1', '');
INSERT INTO t_menu VALUES ('2', '1');
INSERT INTO t_menu VALUES ('3', '1');
INSERT INTO t_menu VALUES ('4', '2');
INSERT INTO t_menu VALUES ('5', '3');
INSERT INTO t_menu VALUES ('6', '4');
COMMIT;
SELECT * FROM t_menu;

查看表結構

為了簡單起見,表t_menu只有兩個字段:menu_id和parent_id。

向下遞歸查詢

為了演示向下遞歸查詢,選擇menu_id為4的節(jié)點作為起始節(jié)點。以下是查詢語句:

SELECT _id, _id, level
FROM t_menu t
START WITH _id  '4'
CONNECT BY _id  PRIOR _id;

PRIOR關鍵字的位置,與menu_id放在一起,表示向下查詢。

向上遞歸查詢

為了演示向上遞歸查詢,選擇menu_id為4的節(jié)點作為起始節(jié)點。以下是查詢語句:

SELECT _id, _id, level
FROM t_menu t
START WITH _id  '4'
CONNECT BY PRIOR _id  _id;

PRIOR關鍵字和parent_id放在一起,表示按照父節(jié)點方向向上查詢。

添加篩選條件

在以上查詢語句中,還可以添加where條件語句,在遞歸查詢結果集中根據條件進行篩選。

標簽: