DB

트리구조 -쉽게 쿼리하기

미스테리아 2018. 12. 7. 17:26

트리구조 -쉽게 쿼리하기

*트리상위구조 찾아가기

SQL시 검색시 하위검색결과만 나오고 상위 코드는 안나올때 connect_by_root를 이용해서 상위레벨값을 찾아갈수 있다.

예제>  
SELECT * 
FROM
(
    SELECT distinct 
           connect_by_root menu_id as root_menu_id , 
    FROM   테이블명
    WHERE  1= 1
    CONNECT BY PRIOR  menu_id = 상위_menu_id
) a, 테이블명 b
where a.root_menu_id = b.menu_id
ORDER BY menu_id

*전체경로 값 보기 

루트로부터 해당 Row까지의 전체 경로를 반환한다.

예제) SYS_CONNET_BY_PATH

   SELECT SYS_CONNECT_BY_PATH(name,'|') AS PATH
   FROM  테이블명