반응형
■ HAVING 절
-. WHERE절이 SELECT문에서 조건 검색을 위해서 사용한다면
HAVING절은 GROUP BY 절에 의해 생성된 결과 값 중 원하는 조건에 부합하는 자료만 보고자 할 때 사용한다.
① 부서별로 평균을 구하되 나온 결과 값중에서 그 평균값이 2000 이상인 자료만 산출하는 예
SQL> SELECT deptno, AVG(sal) FROM emp GROUP BY deptno HAVING AVG(sal) >= 2000; |
② HAVING 절을 WHERE 절과 함께 사용하는 예제
-. 테이블에서 100 이상의 급여를 가지고 있는 사람들에 대해서만 부서별로 평균을 구한 후
구해진 부서별 평균 급여가 2000 이상인 부서 번호와 부서별 평균 급여를 출력한다.
SQL> SELECT deptno, AVG(sal) FROM emp WHERE sal >= 1000 GROUP BY deptno HAVING AVG(sal) >= 2000; |
* WHERE 절에서 조건에 사용되는 컬럼은 단순 컬럼
* WHERE 절은 테이블에서 데이터를 가져올 때 그 테이블에서 특정 조건에 부합하는 자료만 검검색하고 할 때 사용
* HAVING 저에서는 그룹함수를 적용한 컬럼
* HAVING 절은 그룹함수 사용 시 그룹함수를 적용해서 나온 결과 값중에서 원하는 조건에 부합하는 자료만 산출하고 싶을 때 사용한다.
반응형
'Oracle > Oracle Programming' 카테고리의 다른 글
[Oracle] EQUI JOIN (0) | 2012.11.27 |
---|---|
[Oracle] 조인의 기본 개념 (0) | 2012.11.27 |
[Oracle] GROUP BY 절 (0) | 2012.11.25 |
[Oracle] 그룹함수 (0) | 2012.11.25 |
[Oracle] 중복되는 컬럼을 한 번씩만 보여주기 위한 DISTINCT 키워드 (0) | 2012.11.06 |