* WITH

서브쿼리와 비슷하지만 서브쿼리대신 가독성이 좋은 문법입니다

오라클 9이상에서 지원하며 이름을 정의한 서브쿼리라고 생각하시면 됩니다

또한 WITH절끼리 조인도 가능하여 쓰임새가 좀더 넓어집니다

WITH TABLE_WITH_1 AS

(

SELECT

'컬럼1' AS COLUMN1

,'컬럼2' AS CLOUMN2

,'컬럼3' AS COLUMN3

FROM DUAL

)

SELECT * FROM TABLE_WITH_1

쿼리출력결과입니다

이런식으로 임의로 자기가 테이블을 만들어서 사용 가능하며 DUAL대신 실제테이블로도

사용가능합니다.

다중으로도 사용가능합니다

WITH TABLE_WITH_1 AS

(

SELECT

'컬럼1' AS COLUMN1

,'컬럼2' AS COLUMN2

,'컬럼3' AS COLUMN3

FROM DUAL

),

TABLE_WITH_2 AS

(

SELECT

'컬럼11' AS COLUMN1

,'컬럼22' AS COLUMN2

,'컬럼33' AS COLUMN3

FROM DUAL

UNION ALL

SELECT * FROM TABLE_WITH_1

)

SELECT * FROM TABLE_WITH_2

쿼리출력결과입니다

서브쿼리를 사용하지 않고 위에서 WITH을 사용해 임시테이블을 만들어 사용시, 읽기 편하고 만들어둔 테이블로 조인하기에도 헷갈리지 않아서 사용하면 도움이 될 수 있는 구문입니다

읽어주셔서 감사합니다!

LIST

+ Recent posts