DB/오라클
오라클 계층형 쿼리 설명
개발자와코더사이가 PM일까?
2016. 9. 15. 02:54
반응형
오라클을 사용하다 보면 가장 좋은 점은 오라클 만의 예약어(?)가
많다는 것입니다. 맞는지는 모르지겠지만 그 중 하나가 계층형 예약어 입니다.
[예제 출처]
http://www.gurubee.net/lecture/2223
아래와 같이 start with, connect by prior은 정말로 많이 쓰는 예약어 중
하나입니다.
[사용법]
start with ==> 루트노드
connect by prior ==> 부모와 자식노드들간의 관계를 연결
그런데 개발을 하다가 보니
현재 속해있는 계층형 데이터에 두번째 레벨의 데이터를 한개의 row에 표시해야 하는 경우가 생겼습니다.
한참을 고민을 하다가 sys_connect_by_path를 사용했습니다.
sys_connect_by_path를 사용하면 특정 문자열로 루트까지 찾아가고
SUBSTR 함수를 통하여 특정 문자열을 잘라서 보여주면 되는 상황이더라구요.
[SYS_CONNECT_BY_PATH 사용법]
SYS_CONNECT_BY_PATH ( column, char )
요즘에는 삶이 바뻐서 그러는지 개발 이야기...읽은 책 이야기 밖에 없네요..
이해 부탁 드립니다. ㅎㅎ