본문으로 바로가기

집계 함수와 산술 함수

category 데이터베이스/MySQL 2022. 1. 25. 19:16

이전 영상에서는 한 컬럼의

개수(COUNT)

최댓값(MAX)

최솟값(MIN)

평균값(AVG)

을 구하는 함수들을 배웠습니다. 이 함수들처럼 어떤 컬럼의 값들을 대상으로 원하는 특징값을 구해주는 함수Aggregate Function, 우리말로는 집계 함수라고 합니다. 집계 함수에는 이전 영상에서 배운 것 말고도 

모든 값의 합을 구하는 SUM 함수, 

모든 값의 표준편차를 구하는 STD 함수 등이 있습니다. 각각 다음과 같습니다.

1. SUM 함수 - 합계

2. STD 함수 - 표준편차

그런데 SQL에는 집계 함수 말고도, 단순한 산술 연산을 해주는 Mathematical Function들도 있습니다. 우리 말로 '산술 함수'라고 할 수 있는데요. 산술 함수에는 다음과 같은 것들이 있습니다.

ABS 함수 - 절대값을 구하는 함수

SQRT 함수 - 제곱근을 구하는 함수 

CEIL 함수 - 올림 함수

3. FLOOR 함수 - 내림 함수

4. ROUND 함수 - 반올림 함수

이것 말고도 또 다양한 산술 함수들이 있는데요. 그밖의 다양한 산술 함수들이 궁금하신 분들은 이 링크를 참조하세요. 

그렇다면 집계 함수와 산술 함수는 정확히 어떤 차이점이 있을까요? 둘의 차이점은

(1) 집계 함수는 특정 컬럼의 여러 row의 값들을 동시에 고려해서 실행되는 함수이고

(2) 산술 함수는 특정 컬럼의 각 row의 값마다 실행되는 함수

라는 점입니다.

예를 들어 집계 함수인 MAX 함수를 생각해보세요. 특정 컬럼의 값 중에서 최댓값을 구하려면 당연히 여러 row의 값들을 동시에 고려해야겠죠?

하지만 ABS, ROUND 같은 산술 함수들은 그렇지 않습니다. 이 함수들은 그냥 특정 컬럼의 각 row의 값들에 대해 각각 실행될 뿐입니다.

이 둘이 어떤 차이가 있는지 잘 아시겠죠? 데이터 분석을 할 때 숫자값을 자유롭게 다루려면 이 집계 함수와 산술 함수를 많이 알면 알수록 좋습니다. 특히 이번 토픽에서 배운 함수들을 잘 익혀둔다면 도움이 되겠죠?

'데이터베이스 > MySQL' 카테고리의 다른 글

null 심화정보  (0) 2022.01.28
정렬 text int 차이점  (0) 2022.01.23
이스케이핑  (0) 2022.01.22
DATE 데이터 타입 관련 함수  (0) 2022.01.22
SQL 조건표현식  (0) 2022.01.22