본문 바로가기
오라클 게시판/오라클(Oracle)

[오라클 Tip] 복수의 with 구문 작성 및 사용

by 기서무나구물 2020. 5. 29.

포스팅 목차

    복수의 with 구문 작성 및 사용

     

    오라클에서 반복적으로 사용되는 구문을 위해 지원되는 WITH 구문을 여러 개 사용하기 위한 방법. 

    WITH구문을 통하여 프로그램 가독성 및 반복적으로 실행되는 작업을 줄여서 성능적인 이득을 볼 수 있다.

    Oracle Programming
    WITH BACK1 AS
      ( SELECT *
        FROM   EORD01
      ),
         BACK2 AS
      ( SELECT *
        FROM   BACK1
        WHERE  LAST_YN = 'Y'
      ),
         BACK3 AS
      ( SELECT *
        FROM   EORD01
        WHERE  SEQ = 0
      )
    
    SELECT CASE WHEN B.EMPLOYEE_ID IS NOT NULL THEN 'Y' ELSE 'N' END 최종여부,
           CASE WHEN C.EMPLOYEE_ID IS NOT NULL THEN 'Y' ELSE 'N' END 최초여부,
           A.*
    FROM   BACK1 A
           LEFT JOIN BACK2 B
                ON   A.EMPLOYEE_ID = B.EMPLOYEE_ID
                AND  A.SEQ         = B.SEQ
           LEFT JOIN BACK3 C
                ON   A.EMPLOYEE_ID = C.EMPLOYEE_ID
                AND  A.SEQ         = C.SEQ
    반응형

    댓글