이전 영상에서는 한 컬럼의
개수(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 |