계층형쿼리2 SQL WITH절 1.WITH절이란?서브쿼리를 이름을 정의해 만든 임시테이블 *참고 : Oracle9버전 이상부터 with절 지원 2. With절은 언제 사용하는지?1) 서브쿼리 사용 시 가독성이 떨어지는 경우 보통 select문에서 서브쿼리를 많이 사용하게 되는데 서브쿼리가 길어거나 혹은 동일한 서브쿼리를 태울 때 with절을 용이하게 사용하실 수 있습니다. 간결한 서브쿼리를 작성한다면 문제가 없지만 서브쿼리가 길어지다보면 쿼리의 가독성도 떨어지게 되겠지요? 그럴때 WITH절로 쿼리를 분리시켜 임시테이블로 만든 후 From절에서 테이블처럼 사용할 수 있습니다. 2)동일한 데이터를 반복적으로 사용하는 경우 Sql내에서 동일한 데이터를 반복적으로 사용하는 경우 with절을 이용하기도 합니다. 3. With절 작성법WITH .. 2023. 8. 31. 계층형쿼리 START WITH ~ CONNECT BY PRIOR 아래 테이블을 START WITH ~ CONNECT BY 절을 사용하여 계층형 쿼리를 만들어보고자 합니다.START WITH [조건] : [조건]에 맞는 레코드를 일단 조회합니다. 그결과를 기준으로 계층연결을시작합니다 CONNECT BY [조건] : [조건]에 맞게 연결해 나갑니다. 이때 CONNECT BY절에 PRIOR이 어디에 붙느냐에 따라 결과값이 달라지므로 주의할 필요가 있습니다. 컬럼명앞에 PRIOR 붙어있는 컬럼의 값을 일단읽고 그 값으로 다음 조건절을 수행하게 됩니다. 아래 구문을 해석하자면 START WITH cd = '0' : 컬럼명 cd의 값이 '0'인 레코드를 찾습니다. 찾은레코드에서 PRIOR이 붙은 'cd'의 값을 읽고 조건절 cd = pcd 절을 수행합니다. 그렇게 되면 cd값이.. 2023. 8. 28. 이전 1 다음