인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

ajh7457님의 프로필 이미지
ajh7457

작성한 질문수

데이터 분석 SQL Fundamentals

집계(Aggregate) Analytic SQL 실습 - 02

집계함수 사고과정

작성

·

212

0

부서별 평균 급여와 개인 급여와의 차이 출력

-- analytic을 사용하지 않고 위와 동일한 결과 출력

위 문제의 풀이 사고과정을 다음과 같이 생각해봤는데

틀린 부분이 있다면 말씀 부탁드립니다

  1. emp 테이블에서 부서별 평균급여가 없다

  2. 부서별 평균급여를 만들어야 하는데 analytic을 사용하지 않으므로 테이블을 따로 만들어 붙인다

질문이 하나 더 있는데 analytic을 사용하지 않는다고 했는데 avg가 analytic 아닌가요? 조금 헷갈려서 여쭤봅니다.

답변 1

1

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

  1. emp 테이블에서 부서별 평균급여가 없다

    => emp 테이블 자체에는 당연히 평균 급여가 없습니다.

     

  2. 부서별 평균급여를 만들어야 하는데 analytic을 사용하지 않으므로 테이블을 따로 만들어 붙인다

    => Analytic을 사용하지 않으면 group by deptno aggregation 함수 avg를 적용해야 하는데 group by deptno를 emp 테이블에 적용하게 되면 집합의 레벨이 deptno 단위로 변경되게 됩니다.

    때문에 emp 테이블 레벨로 데이터를 표출하되 deptno 단위로 평균 급여를 얻으려면 다시 emp 테이블과 deptno 단위로 group by 된 집합을 조인해 줘야 합니다.

     

    Analytic을 적용하면 emp 테이블 집합의 레벨을 그대로 유지하므로 이렇게 할 필요가 없습니다.

     

    그리고 group by 에 사용되는 avg는 보통 aggregation 함수라고 칭합니다.

     

    감사합니다.

ajh7457님의 프로필 이미지
ajh7457
질문자

초면에 자꾸 사랑하게 됩니다 선생님

권 철민님의 프로필 이미지
권 철민
지식공유자

ㅋㅋ, 넘 감사합니다.

ajh7457님의 프로필 이미지
ajh7457

작성한 질문수

질문하기