[DB.SQL] 다중 행(그룹) 함수

HwangBBang·2023년 2월 7일
0

SQL

목록 보기
6/9
post-thumbnail

다중 행 함수란?

다중 행 메소드 는 그룹 함수, 집계 함수 라고도 한다.

단일 행 메소드와 달리 그룹 함수 는 전체 집합 또는 그룹으로 분류된 집합에 작용하여 그룹당 하나의 결과를 생성한다.

다중 행 함수의 종류

DISTINCT 와 ALL

다중 행 메소드에서는
DISTINCT 를 사용하여 중복을 제거 할 수 있다.
중복된 데이터들도 표현하기 2 가지 방법이 있는데 ,
ALL을 사용하여 중복되는 데이터를 표현 하거나
지정을 아예 안하여 중복되는 데이터를 표현할 수 있다. (즉, default 가ALL임)


#COUNT()와 COUNT(*)

#COUNT()

  • COUNT() 는 NULL 을 제외하고 처리한다.
  • 모든 타입을 사용한다.
    NULL 을 제외하고 데이터의 갯수를 반환
select count(sal)
from emp
where sal > 1000;
-- sal 이 1000 초과인 데이터의 갯수(NULL 제외) 는 12개

#COUNT(*)

  • COUNT(*) 는 NULL 을 포함하고 처리한다.
  • 모든 타입을 사용한다.
    NULL 을 포함한 데이터의 갯수를 반환
select count(*)
from emp
where sal > 1000;
-- sal 이 1000 초과인 데이터의 갯수(NULL 포함) 는 12개


#SUM()

  • NULL 을 제외하고 처리한다.
  • 숫자 타입만 사용한다.
select sum(comm)
from emp;


#AVG()

  • NULL 을 제외하고 처리한다.
  • 숫자 타입만 사용한다.
select avg(comm)
from emp;

NULL 값을 0으로 반환 하여 평균을 내는 경우

select avg(nvl(comm,0))
from emp;


#MAX()

  • NULL 을 제외하고 처리한다.
  • 모든 타입을 사용한다.

#MIN()

  • NULL 을 제외하고 처리한다.
  • 모든 타입을 사용한다.

#STDDEV()

  • NULL 을 제외하고 처리한다.
  • 숫자 타입만 사용한다.

#VARIANCE()

  • NULL 을 제외하고 처리한다.
  • 숫자 타입만 사용한다.
profile
https://hwangbbang.tistory.com/

0개의 댓글