DB/ORACLE
With 절 사용하기
골든크랩
2023. 10. 25. 09:13
728x90
반응형
오라클 9이후로 사용
이름이 부여된 서브쿼리 개념. 일종의 임시 테이블 또는 가상테이블이 만들어진다고 생각하면 됨.
왜 사용하나?
-> 반복적으로 sql 문을 사용하는 경우, 그 블록에 이름을 부여해 재사용함. 자주 실행되는 query에 대해서 쿼리 성능이 개선됨.
형태는
with exam1 as
(
select 문
),
exam2 as
(
select 문
)
사용법은
select * from exam2;
with 절은 서브쿼리와 성능상 차이가 크지 않다. 다만 재사용을 자주 한다면 이점이 있다.
예제) 실행시 주의점 : 반드시 WITH 문부터, 하단의 SELECT 문까지 모두 선택해서 실행시켜야 함. 두분째 SELECT 문만 실행시에는 ORA-00942 테이블 또는 뷰가 존재하지 않습니다가 뜸.
WITH emp_w1 AS
(
SELECT DEPTNO, SUM(SAL) AS SAL
FROM EMP e
GROUP BY DEPTNO
)
SELECT A.DEPTNO ,B.DNAME, A.SAL
FROM EMP_W1 A, DEPT B
WHERE A.DEPTNO = B.DEPTNO
아래글을 참고할것
[Oracle] 오라클 WITH 절 사용법 및 동작방식 (WITH 여러개)
오라클 9i R2부터 WITH 절을 사용할 수 있도록 기능이 추가되었다. WITH 절은 임시 테이블 또는 가상 테이블이라고 생각하면 된다. 반복되는 서브쿼리 블록을 하나의 WITH 절 블록으로 만들어서 사용
gent.tistory.com
728x90
반응형