반응형
오라클에서 WITH는 가상의 테이블을 만들 때 사용하는데
WITH 테이블명 AS ( 테이블명에 들어갈 값 )
이런 식으로 사용하게 된다
위 스크린샷과 같이 DUAL을 이용해 값을 넣거나
SELECT * FROM EMP와 같이
EMP 테이블의 데이터를 TBL1 안에 넣어줄 수 있다
위 예제에서는 WITH TBL1 AS 로 테이블을 생성하고
'E' 값을 넣은 후
아래에서 SELECT * FROM TBL1로
가상의 테이블인 TBL1의 데이터를 조회할 수 있는 것이 보인다
WITH를 여러개 사용할 경우에는
WITH 테이블명 AS (), 테이블명 AS ()
이런 식으로 사용하면 된다
WITH 안에서는 UNION, UNION ALL을 사용해
타 WITH 테이블과도 합치기가 가능하다
마지막으로 예제에 사용한 쿼리는 아래와 같다
WITH TBL1 AS
(
SELECT 'E' AS COL1 FROM DUAL
)
SELECT * FROM TBL1;
WITH TBL1 AS
(
SELECT 'A' AS COL1 FROM DUAL
UNION ALL SELECT 'B' FROM DUAL
UNION ALL SELECT 'C' FROM DUAL
UNION ALL SELECT 'D' FROM DUAL
),
TBL2 AS
(
SELECT 'E' AS COL1 FROM DUAL
UNION ALL
SELECT COL1 FROM TBL1 -- 타 WITH와 합치기 가능
)
SELECT * FROM TBL2;
반응형
'SQL > Oracle' 카테고리의 다른 글
오라클 테이블 컬럼 COMMENT 입력 수정 삭제 및 조회방법 정리 (0) | 2020.11.24 |
---|---|
오라클 WHERE IF ELSE 사용방법 및 예제 (0) | 2020.11.24 |
오라클 ROLLUP 개념 및 예제 (0) | 2020.11.23 |
오라클 PL/SQL 수정 시 자동 백업방법(형상관리) (0) | 2020.11.23 |
오라클 ROLLUP을 이용해 소계 합계 구하는 방법 (0) | 2020.11.20 |
댓글