티스토리 뷰
1. CONNECT_BY_ISLEAF - 역할
계층형 쿼리에서 해당하는 로우가 자식노드가 있는지 없는지 여부를 체크
자식노드가 있을 경우 0 , 자식노드가 없을 경우 1
2. CONNECT_BY_ISLEAF - 기본 테이블
◈ TEST_TABLE_ONE
IDX | NAME | ID | P_LEVEL | PP_LEVEL |
1 | 테스트1 | test1 | 1 |
|
2 | 테스트2 | test2 | 2 | 1 |
3 | 테스트3 | test3 | 3 | 1 |
4 | 테스트4 | test4 | 4 | 2 |
5 | 테스트5 | test5 | 5 | 2 |
3. CONNECT_BY_ISLEAF - SQL 문장
◈ SQL
1 2 3 4 5 6 | SELECT LEVEL ,LPAD(' ' ,2*(LEVEL-1)) || NAME AS NAME ,CONNECT_BY_ISLEAF AS LEAF FROM TEST_TABLE_ONE START WITH PP_LEVEL IS NULL CONNECT BY PRIOR P_LEVEL=PP_LEVEL |
◈ 결과 테이블
LEVEL | NAME | LEAF |
1 | 테스트1 | 0 |
2 | 테스트2 | 0 |
3 | 테스트4 | 1 |
3 | 테스트5 | 1 |
2 | 테스트3 | 1 |
◈ 설명
테스트1, 테스트2의 경우는 자식노드가 있기 때문에 0을 반환합니다
자식 노드가 없는 나머지는 1을 반환합니다
'[개발]프로그래밍 > sql' 카테고리의 다른 글
[oracle] 분석 함수 - 데이터 분석하는 함수 (0) | 2016.10.26 |
---|---|
[oracle] SYS_CONNECT_BY_PATH - 루트 찾아가기 (1) | 2016.10.26 |
[oracle] CONNECT_BY_ISCYCLE - 중복 참조 찾기 (0) | 2016.10.25 |
[oracle] CONNECT_BY_ROOT - 최상위 루트노드 찾기 (0) | 2016.10.25 |
[oracle] START WITH ... CONNECT BY - 계층형 쿼리 (1) | 2016.10.25 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday