반응형
다중행 함수를 사용해 간단하게 데이터를 가공하여 하나의 결과 값을 출력해줄 수 있습니다.
더보기
다중행 함수란 지정 데이터를 가공하여 하나의 결과 값만 출력하는 함수입니다. 예를들어 AVG(), SUM(), COUNT() 등이 있습니다.
하지만 열(raw)의 값 별로 결과값을 출력하고자 할때는 번거롭다.
예를 들어 우리에게 회사사원 데이터를 가진 테이블이 있고 그곳에 부서 번호(DEPTNO), 급여(SAL), 직업(JOB)이 포함되어있습니다.
부서 10의 평균 급여:
위의 코드를 부서 20, 30도 하면 3 부서의 평균 급여를 알 수 있다. 이렇게 각각 출력하는 것은 대기업의 상황에서는 매우 비효율적이다.
데이터 그룹화는 특정 열 값별로 출력해줄 수 있어 이 문제를 아주 효율적으로 해결한다.
그룹화된 결과 값중 원하는 값만 출력하고자 할때 HAVING절을 사용할 수 있다.
쓰임새는 WHERE과 비슷하다고 느낄 수 있지만 WHERE은 출력 대상의 행을 제한하고 HAVING은 그룹화된 대상을 제한해 분명히 다르다는 것을 기억해야 한다.
더보기
그룹화된 대상에 WHERE문을 사용하면 오류가 발생한다.
예) 부서중에 평균 급여 2000이상만 출력
# 주의
그룹화를 사용할 때 다중행 함수가 사용되지 않은 일반 열(Column)은 GROUB BY에 포함되지 않으면 SELECT절에 사용할 수 없다.
반응형