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
반응형
'DB > ORACLE' 카테고리의 다른 글
DBeaver 를 사용해서 프로시져 만드는 방법 (0) | 2023.10.25 |
---|---|
DBeaver 에서 오라클 프로시져 사용하기 (0) | 2023.10.25 |
where 절에 field명 = null 을 쓸수 없는 이유.... (0) | 2023.10.11 |
OTL 사용법 (0) | 2023.10.10 |
Toad 토드에서 한글이 깨질때.... (0) | 2023.09.26 |
댓글