본문 바로가기
DB/ORACLE

With 절 사용하기

by 골든크랩 2023. 10. 25.
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

 

아래글을 참고할것

 

https://gent.tistory.com/419

 

[Oracle] 오라클 WITH 절 사용법 및 동작방식 (WITH 여러개)

오라클 9i R2부터 WITH 절을 사용할 수 있도록 기능이 추가되었다. WITH 절은 임시 테이블 또는 가상 테이블이라고 생각하면 된다. 반복되는 서브쿼리 블록을 하나의 WITH 절 블록으로 만들어서 사용

gent.tistory.com

 

728x90
반응형

댓글