2009. 3. 14. 03:08 Program.../Oracle
Oracle Having 절
---- having절 : 그룹함수에 대한 조건절
select deptno, sum(sal)
from EMP
where sum(sal) >= 9000 -- 여기에 where절에 sum(sal)을 넣으면 어느그룹의 것인지 알 수 없다.(문법오류)
group by deptno;
select deptno, sum(sal)
from EMP
group by deptno
having sum(sal) >= 9000; -- 그룹함수 조건인 having절을 넣어야 오류없이 실행된다.
------------- 다음 문장을 비교하였을때 두문장은 결과는 같으나 아래쪽이 더 빠르게 실행된다.
------------- 일반컬럼은 having절에 쓰는걸 권장하지 않는다. (그룹함수만 쓰자.)
select job, sum(sal) -- 이문장은 job의 모든 행을 메모리에 로드시키고 실행한다.
from EMP
group by job
having job in ('MANAGER','SALESMAN');
'Program... > Oracle' 카테고리의 다른 글
Oracle All 함수 (0) | 2009.03.14 |
---|---|
Oracle rollup, cube 함수 (0) | 2009.03.14 |
Oracle Group by 절 (0) | 2009.03.14 |
Oracle 단일행 함수와 그룹함수의 차이점 (0) | 2009.03.14 |
Oracle rank 함수 (0) | 2009.03.13 |