회사 쿼리문을 보다 보면 WITH 절을 꽤 많이 쓰인다. WITH 절에 대해 자세히 알아보자
WITH 절은 임시 테이블 또는 가상 테이블이라고 생각하면 된다. 임시 테이블, 가상 테이블을 만든다는 관점에서 보면 VIEW와 쓰임새가 비슷한데 차이점은 VIEW는 한번 만들면 DROP할 때까지 없어지지 않지만 WITH은 한번 실행할 쿼리문 내에 정의되어 있을 경우, 그 쿼리문 안에서만 실행된다. 이러한 WITH절을 사용해서 SELECT문의 가독성을 높일 수 있다.
WITH emp_w1 AS
(
SELECT deptno
, SUM(sal) AS sal
FROM emp
GROUP BY deptno
)
SELECT a.deptno
, b.dname
, a.sal
FROM emp_w1 a
,dept b
WHERE a.deptno = b.deptno
위와 같이 WITH절을 테이블처럼 사용하여 쿼리를 짤수있다.