---- 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');
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');
'데이터베이스' 카테고리의 다른 글
Cassandra db 로컬설치 (0) | 2011.05.28 |
---|---|
MSSQL 2005 원격접속 허용 (0) | 2010.12.08 |
SELECT * INTO와 INSERT INTO SELECT..의 차이점 (0) | 2010.07.17 |