이전 글에서 집약(COUNT)에 대해서 확인을 하였습니다.
2022.07.20 - [SQL문] - SQL문 논리연산자 2편 & 집약
오늘 글에서는 먼저 합계 함수를 확인을 하여 보도록 하겠습니다. 사용하는 방법은 COUNT 함수를 이용을 하는 방법과 크게 틀리지는 않습니다.
단지 COUNT 함수와 차이는 인수에 * 별표를 이용을 할 수가 없습니다. 그럼 예문을 확인을 하여 보도록 하겠습니다.
SELECT SUM(M_Price) FROM MyDB ;
위 예문을 보자면 MyDB 테이블의 M_Price 열의 합계를 구하는 구문입니다. 실행을 하여 보면 아래와 같은 열과를 얻을 수가 있습니다.
SUM
-----------------------
98000
결과가 98000 입니다. 이는 M_Price 열의 모든 레코드의 합을 의미합니다. 두개의 열에 대한 합계도 구할 수가 있습니다.
SELECT SUM(M_Price),SUM(M_BUY) FROM MyDB ;
SUM | SUM
--------+----------
98000 | 45820
이런 결과를 확인을 할 수가 있습니다.
만약 데이터에 NULL이 있다면 ?
이전 글에서 이야기 하였지만 사칙 연산을 할 때 데이터에 NULL 이 있다면 무조건 결과는 NULL 이 된다는 이야기를 하였습니다.
다행히 집약 함수를 이용을 해서 계산을 할 때 계산전에 미리 NULL이 제외가 되고 계산이 되기 때문에 이런 문제는 없습니다.
평균을 구하여 보자!
평균을 구해야 하는 경우가 생각보다 많습니다. SQL문에서는 평균을 구하는 집약 함수 AVG 함수를 제공을 합니다. 사용하는 방법은 SUM 과 동일합니다. 그럼 예문을 보도록 하겠습니다.
SELECT AVG(M_Price) FROM MyDB ;
보시면 동일한 것을 확인을 할 수가 있습니다. 두 개의 열에 대하여 평균을 하는 구하는 방법도 합계 함수와 동일합니다.
SELECT AVG(M_Price),AVG(M_BUY) FROM MyDB ;
최솟값 과 최대값을 구하는 방법
특정 열에 있는 레코드 값중에 최대값을 구하거나 또는 최솟값을 구하고자 하는 경우도 있습니다. 이때 이용을 하는 함수가 MAX 와 MIN 함수입니다.
이 함수도 이용을 하는 방법은 동일합니다. 그럼 어떻게 이용을 하는지 확인을 하여 보도록 하겠습니다.
SELECT MAX (M_Price),MIN (M_Price) FROM MyDB ;
실행결과
MAX | MIN
-------------------------
5600 | 2000
[ 주의사항 ]
MAX /MIN 함수는 모든 데이터 형에 적용을 할 수가 있습니다 . 하지만 SUM /AVG 함수는 숫자형 데이터만 이용을 할 수가 있습니다.
중복값을 제외을 하여 보자!
SQL 문을 이용을 해서 데이터를 다룰때 동일한 값을 제외를 하고자 하는 경우가 있습니다. 예을 들어서 이런 경우입니다.
상품의 종류를 구하고자 할 때 입니다. 데이터를 입력을 할 때 상품 A , 상품B , 상품C 이런 형식으로 분류를 해서 입력을 합니다.
그래서 각각의 상품에 대한 행이 여러개 존재를 할 것입니다. 이때 상품 종류만 확인을 하고 싶다면 중복값 제외 DISTINCT 키워드를 이용을 하시면 원하는 결과를 얻을 수가 있습니다.
SELECT COUNT(DISTINCT M_CLASS) FROM MyDB ;
이렇게 작성을 하고 실행을 하여 보면 중복값을 제외를 하고 행수를 계산한 결과를 얻을 수가 있습니다.
비교를 하고 싶다면 DISTINCT 키워드를 제외를 하고 실행을 하여보면 확인을 할 수가 있습니다. DISTINCT 키워드를 사용을 할 때는 받드시 괄호 안에 기술을 해야 합니다.
DISTINCT 키워드는 다른 집약 함수에도 이용을 할 수가 있습니다.
'SQL문' 카테고리의 다른 글
SQL 문 트랜잭션 1편 (0) | 2022.08.30 |
---|---|
SQL문 HAVING 구에 대해서 (0) | 2022.07.28 |
SQL문 테이블 그룹 나누는 방법 (0) | 2022.07.25 |
SQL문 논리연산자 2편 & 집약 (0) | 2022.07.20 |
SQL문 비교연산자 2편 (0) | 2022.07.18 |
SQL 산술연산자와 비교연산자 (0) | 2022.07.13 |
SQL 주석 작성법 (0) | 2022.07.11 |