본문 바로가기
SQL(쿼리)

컬럼 중 NULL이 포함되어 있을 때 SUM의 결과값은?

by 취미툰 2022. 3. 10.
반응형

컬럼내 , 컬럼 간 SUM 수행 시 NULL이 포함되어 있을 때 어떻게 결과값이 나오는지 정리해보겠습니다.

 

테스트 테이블은 아래와 같습니다.

 

테이블 A

C1 C2 C3
10 20 NULL
15 NULL NULL
50 70 20

 

간단히 위의 테이블을 만드는 쿼리입니다.

with A as (
select 10 as c1,20 as c2,null as c3 from dual
union all
select 15,null,null from dual
union all
select 50,70,20 from dual
)
[이 부분에 쿼리 작성]

 

그럼 제가 테스트해본 쿼리를 아래에 적어 놓겠습니다. 해당 쿼리의 값들은 각각 결과값이 어떻게 될까요?

1번
select sum(c2) from A

2번
select sum(c1+c2+c3) from A

3번
select sum(c2+c3) from A

4번
select sum(c2) + sum(c3) from A

 

결과값은 아래에 접은글로 표시해두겠습니다. 확인전에 한번 생각해보시길 바래요

더보기

--1번답 sum(c2)=90
--2번답 sum(c1+c2+c3)=140
--3번답 sum(c2+c3)=90
--4번답 sum(c2) + sum(c3) =110

 

테스트 결과로는

컬럼 내의 SUM시 NULL값이 포함되어 있다면 NULL을 제외하고 연산을 수행합니다.

컬럼 간의 SUM시 NULL값이 포함되어 있다면 해당 컬럼 전체가 NULL로 처리되어 연산에 포함되지 않습니다.

AVG같은 다른 연산도 같이 적용될 것 같습니다.

 

 

반응형

댓글