oracle start with connect by prior

2014. 1. 9. 01:31Database/ORACLE



반응형

oracle start with connect by prior 절 은 트리형태 구조이다


쇼핑몰 같은 1뎁스 2뎁스 3뎁스 4뎁스 에대한 트리구조를 쿼리로 만들어바라 그얼마나 조인을 해야하고 복잡한일인가

또한 게시판에대한 일반글과 댓글에 대한 트리구조를 만들려고 해보자.


예를들면 


-Sport

-골프

-골프공   

-골프채   

-골프장갑

-스노우보드

-부츠

-데크

-장갑

이런구조가 있는 쇼핑몰이라고 생각하자 


-Sport                                [ depth = 1 , no= 1 , upno=1]

-골프                             [ depth = 2 , no= 2 , upno=1]

-골프공                       [ depth = 3 , no= 3 , upno=2]

-골프채                       [ depth = 3 , no= 4 , upno=2]

-골프장갑                    [ depth = 3 , no=  5 , upno=2]

-스노우보드                     [ depth = 2 , no= 6 , upno=3]

-부츠                         [ depth = 3 , no= 7 , upno=3]

-데크                         [ depth = 3 , no= 8 , upno=3]

-장갑                         [ depth = 3 , no= 9 , upno=3]

라고 컬럼명이 depth, no , upno 가 있다고 가정  할때

depth = 3 인 골프공 ,골프채,골프장갑, 부츠, 데크, 장갑의 컬럼넘버가 

depth = 2 인  골프 ,스노우보드에 속해 있다


이걸 select 해보자



SELECT NO , UPNO
FROM 테이블
START WITH
      NO = 1 
CONNECT BY PRIOR
      NO = UPNO
ORDER BY DEPTH ASC;


반응형

'Database > ORACLE' 카테고리의 다른 글

[오라클]Oracle Function  (0) 2014.01.21
Oracle MERGE INTO (Upsert) 구문  (2) 2013.10.31
[Oracle TRIGGER]오라클 트리거  (0) 2013.10.10
오라클 소수점  (0) 2013.03.14
Oracle 내장함수  (0) 2013.02.08