💻Programming/Oracle

[Oracle/오라클] WITH 절

horang_dev 2021. 9. 16.

WITH 절

 - 가상의 테이블 생성

 - 복잡한 SQL에서 동일한 블록을 반복하여 사용하는 경우 그 블록에 이름을 부여하여 재사용 할 수 있게 함.

 - VIEW 객체와 쓰임새 비슷. 하지만 VIEW는 한번 만들어 놓으면 DROP 할 때까지 없어지지 않음. WITH 절은 쿼리문 내에서만 실행

 

- 단일 WITH절

WITH SAMPLE AS 
(
  SELECT USER_ID
    FROM TB_USER
)

SELECT *
  FROM SAMPLE;

 

- 다중 WITH절

WITH SAMPLE1 AS 	-- 첫번째 WITH문
(
  SELECT 'EX1' A
    FROM DUAL
), 
SAMPLE2 AS (		-- 두번째 WITH문
  SELECT 'EX2'
    FROM DUAL
  UNION ALL
  SELECT A FROM SAMPLE1 -- 첫번째 WITH문 참조
)

SELECT *
  FROM SAMPLE2;

 

반응형

댓글