[Oracle] 오라클 계층형쿼리 결과가 제대로 나오지 않는 경우

정우씨 2022. 1. 5. 19:35

[Oracle] 오라클 계층형쿼리 결과가 제대로 나오지 않는 경우

데이터 조회하는데 문제가 있어서 평소 잘 다루지 않던 계층형 쿼리를 봤는데 도대체 문제가 뭔지 모르겠다가 찾은 부분인데 FROM절 바로 밑에 WHERE절 조건을 적으면 조건이 잘 적용되지 않는 문제.

FROM절 테이블을 WHERE절이 함께 있는 SUBQUERY로 작성.

--테스트결과 : 정상

 

▶ 잘못된 작성법
SELECT COL1, COL2, COL3
FROM  TABLE1
WHERE COL1 = '1' 
AND COL2 = '2'
START WITH RECORD_ID = #recordId#
CONNECT BY PRIOR ORGINL_RECORD_ID = RECORD_ID

 

 올바른 작성법
SELECT COL1, COL2, COL3
FROM  (
SELECT *
FROM TABLE1
WHERE COL1 = '1' 
AND COL2 = '2')
START WITH RECORD_ID = #recordId#
CONNECT BY PRIOR ORGINL_RECORD_ID = RECORD_ID