본문 바로가기

Database/MS-SQL

DB 정리 쿼리교도소탈출 집계 함수

반응형
집계 함수 MIN MAX SUM AVG 집계 함수를 사용헸을때 NULL 값이 NULL이면 값이 리턴됩니다

NULL 값은 예기치 않은 오류를 발생시킬 수 있으므로  

MAX(score)했을떄 우선 숫자형이라는걸 알고 있다면 
ISNULL(MAX(score) , 0) 으로 처리하게를 해서 널값이 나오는것을 예방하는것이좋다

COUNT 는 널값을 반환하지 않는다 데이터가 없을때는 0을 돌려준다

두번째로 생각해볼 문제는 GROUP BY없이 집계 함수를 사용한다면 어떻게 될까요? 입니다. 그렇다면 조건에 맞는 모든 데이터들 중에서 집계된 내용을 돌려준다는 겁니다. WHERE절로 걸러진 모든 데이터를 대상으로 MIN, MAX, SUM, AVG, COUNT등을 구한다는 겁니다.