데이터베이스/ORACLE
[ORACLE] 오라클 WITH 사용
wngus1112
2023. 1. 13. 08:57
* 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