본문 바로가기
DBMS/ORACLE

[ORACLE] 오라클_WITH 구문 사용하기(feat.서브쿼리)

by 썸머워즈 2019. 8. 6.
반응형

WITH

- WITH 구문은 보통 서브쿼리를 사용할때 많이 사용하고는 한다. (가독성과 성능면에서 우수하다.)

- 일반 서브쿼리는 서로를 참조할 수 없지만 WITH절은 서로 참조가 가능하다.

- 오라클 9버전 이상에서 지원하는 구문이다.

- WITH 구문을 사용한 쿼리는 인라인뷰나 임시 테이블로 여긴다.


예제 1) WITH 구문의 일반적인 사용방법

-- 구문
-- WITH ALIAS명 AS (SUB 쿼리)
-- SELECT 컬럼명 FROM ALIAS명;

WITH TEST AS (SELECT a.deptno , b.emptno FORM a,b)
SELECT * FROM TEST;

예제 2) WITH 구문 안에서 두개의 쿼리문 사용

-- 구문
-- WITH ALIAS명 AS (SUB 쿼리),
--      ALIAS명 AS (SUB 쿼리)
-- SELECT 컬럼명 FROM ALIAS명1, ALIAS명2 WHERE 조인조건;

WITH TEST AS (SELECT a.deptno AS deptno1 , b.emptno FORM a,b) ,
     TEST2 AS (SELECT a.deptno AS deptno2, a.salaray , c.voc , c.label FROM a,c)
SELECT * FROM TEST, TEST2 WHERE TEST.deptno1 = TEST2.deptno2;

이렇게 두개의 예제를 통해 오라클 WITH 구문에 대해 알아봤는데,

예제 처럼 서브쿼리를 많이 사용할때 사용해주면 가독성 측면에서 매우 좋을것이다.

반응형


댓글

TOP