본문 바로가기
오라클 게시판/오라클(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
반응형

댓글