반응형
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 구문에 대해 알아봤는데,
예제 처럼 서브쿼리를 많이 사용할때 사용해주면 가독성 측면에서 매우 좋을것이다.
반응형
댓글