with문은 SELECT 문과 함께 사용되어 지며 Query Block을 미리 정할 수 있는데 자주 사용되는
QUERY의 블록이 고 비용인 경우 이용하면 성능의 장점이 있습니다.
:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
with의 경우 IN-LINE VIEW와 유사하나 DataFile이 아닌 Temp Tablespace에 저장되므로
자주 실행되는 경우 한번만 Parsing되고 Plan 계획이 수립되므로 성능의 향상을
가져올 수 있습니다.
-- 부서별로 급여를 가장 많이 받는 사원의 부서, 급여를 구한 뒤 ?
-- 그 사원들중 최저 급여를 받는 사원 보다 급여를 많이 받는 사원의 사번, 이름, 급여, 등급를 구하세요
-- with 와 Sub Query를 이용 하세요 EMP, DEPT, SALGRADE 테이블을 이용하세요~
with dept_max AS (
SELECT d.deptno, max(e.sal) max_sal
FROM dept d, emp e
WHERE d.deptno = e.deptno
GROUP BY d.deptno
)
SELECT e.empno,
e.ename,
e.sal,
g.grade
FROM emp e, salgrade g
WHERE e.sal BETWEEN losal AND hisal
AND e.sal > ( SELECT min(max_sal)
FROM dept_max )
댓글 없음:
댓글 쓰기