WITH 구문내의 쿼리 결과를 Alias 를 지정하여 이어서 SELECT 절과 이용.

옵티마이저에서 인라인뷰나 임시테이블로 여김.

WITH WITH_EX AS
(
  SELECT ROWNUM R, 'TEST1' STR, SYSDATE DT FROM DUAL
  UNION ALL
  SELECT ROWNUM, 'TEST2', SYSDATE FROM DUAL
  UNION ALL
  SELECT ROWNUM, 'TEST3', SYSDATE FROM DUAL
)
SELECT * FROM WITH_EX;


조인도 가능

SELECT * FROM WITH_EX A LEFT OUTER JOIN (
  SELECT 1 R, 'TESTSSSSS' STR, SYSDATE DT FROM DUAL
  UNION ALL
  SELECT 2 R, 'TESTSSSSS' STR, SYSDATE DT FROM DUAL
) B
ON A.R = B.R;

+ Recent posts