이번에는 having 에 대해서 알아보겠습니다.
글 읽기 전에 손가락 한번 꾸~욱 눌러주시면 감사하겠습니다.^^
select 절에 조건을 사용하여 결과를 제한할 때는 where 절을 사용하며, 그룹의 결과를 제한할 때는 having절을 사용합니다.
부서별로 그룹을 지은 후(group by), 그룹 지어진 부서별 평균 급여가 2000 이상인(having) 부서의 번호와 부서별 평균 급여를 출력하는 경우입니다.
select deptno, avg(sal) from emp group by deptno having avg(sal) >= 2000;
where절은 테이블에서 데이터를 가져올 때 특정 조건에 부합하는 자료만을 검색할 때 사용하는 절입니다. 반면 having절은 그룹 함수 사용 시 그룹 함수를 적용해서 나온 결과값 중에서 원하는 조건에 부합하는 자료만 산출할 때 사용하는 절입니다. where절에서 조건에 사용되는 컬럼은 단순 컬럼이고, having절에서 그룹 함수를 적용한 컬럼이 조건으로 온다고 생각하면 이해하기 쉬우실겁니다.
예제를 하나 더 보겠습니다.
select deptno, max(sal), min(sal) from emp group by deptno having max(sal) > 2900;
위 예제는 부서의 최대값과 최소값을 구하되 최대 급여가 2900 이상인 부서만 출력하라는 예제입니다. 결과는 아래와 같습니다.
이해가 되셨는가요?
어려운 부분이 있으시다면 댓글 남겨주세요.^^
'IT 프로그래밍 > ORACLE' 카테고리의 다른 글
오라클 group by 절 기본 설명 (0) | 2014.01.26 |
---|---|
오라클 그룹함수에 대한 기본 이해 (0) | 2014.01.26 |
ORACLE UPDATE SET 기초 설명 및 응용 (0) | 2014.01.25 |
ORACLE INSERT INTO 기초 설명 (0) | 2014.01.25 |
ORACLE ALTER TABLE COLUMN 삭제하는 DROP (0) | 2014.01.25 |