* 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
'데이터베이스 > ORACLE' 카테고리의 다른 글
[ORACLE] 오라클 VARCHAR2 / NVARCHAR2 차이 (0) | 2023.01.13 |
---|---|
[ORACLE] 오라클 COMMENT 커멘트달기 (0) | 2023.01.13 |
[ORACLE] 오라클 ROWNUM 사용 (0) | 2023.01.13 |
[ORACLE] 오라클 LPAD, RPAD (0) | 2023.01.13 |
[ORACLE] 오라클 비교연산자 <> ! = (0) | 2023.01.13 |