SUM( A+B ) 와 SUM(A) + SUM(B) 의 차이는 뭔가요? 1 3 3,921

by 페이즈 [SQL Query] [2012.02.08 11:00:25]


SELECT SUM( A + B + C + D + F ) AS SUM1,
   SUM(A) + SUM(B) + SUM(C) + SUM(D) + SUM(F) AS SUM2
FROM TABLE


위 처럼 쿼리를 돌려보니...

값이 다르게 나옵니다.

같은 내용이라고 생각했는데... 잘 못 알고 있었던 모양입니다. ㅠ.ㅠ

자세한 설명 부탁드려봅니다.

감사합니다. (_ _)



by 마농 [2012.02.08 13:05:09]
원인은 Null 입니다.
1 + 2 + null + 4 + 5 = null

by 페이즈 [2012.02.08 13:52:29]
아!!! 그렇네요~ -_-;;;
근데... 신기한건...

SUM(A) + SUM(B) + SUM(C) + SUM(D) + SUM(F) 이 부분은
NVL 안 씌워도 갚이 제대로 나오네요...
이 이유는 몰까요???

by 마농 [2012.02.08 14:27:56]
하나의 레코드에서 1 + null = null 이지만
두개의 레코드에서 SUM(1, null) = 1 이지요.
덧셈 연산시 널이 포함되면 결과는 널이지만
SUM 에서는 널 포함시 합산에서 제외 됩니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입