본문 바로가기
  • 개발자를 꿈꾸는 중
Oracle

데이터 그룹화

by 느보리 2022. 6. 9.
반응형

다중행 함수를 사용해 간단하게 데이터를 가공하여 하나의 결과 값을 출력해줄 수 있습니다.

더보기

다중행 함수란 지정 데이터를 가공하여 하나의 결과 값만 출력하는 함수입니다. 예를들어 AVG(), SUM(), COUNT() 등이 있습니다.

하지만 열(raw)의 값 별로 결과값을 출력하고자 할때는 번거롭다.

 

 

예를 들어 우리에게 회사사원 데이터를 가진 테이블이 있고 그곳에 부서 번호(DEPTNO), 급여(SAL), 직업(JOB)이 포함되어있습니다.

 

부서 10의 평균 급여:

위의 코드를 부서 20, 30도 하면 3 부서의 평균 급여를 알 수 있다. 이렇게 각각 출력하는 것은 대기업의 상황에서는 매우 비효율적이다.

 

데이터 그룹화는 특정 열 값별로 출력해줄 수 있어 이 문제를 아주 효율적으로 해결한다.

 

 

그룹화된 결과 값중 원하는 값만 출력하고자 할때 HAVING을 사용할 수 있다.

쓰임새는 WHERE과 비슷하다고 느낄 수 있지만 WHERE은 출력 대상의 행을 제한하고 HAVING은 그룹화된 대상을 제한해 분명히 다르다는 것을 기억해야 한다.

더보기

그룹화된 대상에 WHERE문을 사용하면 오류가 발생한다.

 

예) 부서중에 평균 급여 2000이상만 출력

 

 

# 주의

  그룹화를 사용할 때 다중행 함수가 사용되지 않은 일반 열(Column)은 GROUB BY에 포함되지 않으면 SELECT절에 사용할 수 없다.

 

 

 

 

 

 

 

 

 

 

반응형

'Oracle' 카테고리의 다른 글

그룹화 관련 함수  (0) 2022.06.09
집합 연산자  (0) 2022.06.08
데이터 조회  (0) 2022.06.08