[SQL 교육] 그룹 쿼리(Group Query)
※ Oracle DB를 사용합니다.
1. 그룹 쿼리
- 그룹 행 함수(=복수 행 함수)
- count - 갯수
- sum - 합계
- avg - 평균
- 평균을 계산할 때 null값은 자동으로 배제된다.
- null인 행을 포함하여 평균을 계산하려면, 'sum(열이름)/count(*)'으로 계산한다.
- min - 최소값, max - 최대값
- variance - 분산
- stddev - 표준편차
- Group By
- ~별 ( 그룹을 지을 열들 )
- 구문
- group by 열
- group by (열1, 열2, … )
- 주의할 점!!
- select 절에는 group by 절의 열이 아닌 다른 열을 복수 행 함수 없이 사용 할 수 없다.
- Having
- group by 한 것에 조건을 건다.
- 예. 부서별 급여의 평균이 5000이상인
- 이 경우 '부서별 급여의 평균'이 그룹핑 한 것이고 그것을 조건 확인한다.
- group by의 앞에 올 수 도 있고, 뒤에 올 수도 있다.
- 집계 함수
- roullup
- 레벨별 집계
- cube
- 가능한 조합으로 집계
- grouping
- 어떤 컬럼이 그룹핑 작업에 사용되었으면 1, 그렇지 않았으면 0을 반환
- grouping_id
- 두 컬럼 다 그룹핑에 사용되면 3, A컬럼만 그룹핑에 사용되면 1, B컬럼만 그룹핑에 사용되면 2, 두 컬럼 모두 사용 안되면 0
- grouping sets
- 두 그룹에 대한 집계를 동시에 출력하고 싶을 때 사용한다.
- roullup
- 집합 연산자
- union - 합집합
- 중복된 결과가 있으면 1개만 출력한다.
- union all - 합집합
- 중복된 결과가 있더라도 모두 출력한다.
- intersect - 교집합
- minus - 차집합
- 주의할 점!!!
- select 절에 있는 열의 개수,타입이 일치해야 한다.
- union - 합집합
댓글 없음:
댓글 쓰기