DBMS를 사용하여 DB에 있는 데이터 그 자체를 조회하는 경우도 있지만, 때로는 데이터의 개수, 합계, 평균, 최대값, 최소값 등을 집계할 필요도 있다.
이런 경우 편리하게 사용할 수 있는 함수가 몇 가지 있다.
COUNT 함수
- COUNT 함수는 행의 개수를 돌려준다.
- 사용 구문은 다음과 같다.
COUNT ( { * | [ [ ALL | DISTINCT ] expression ] } )
- (*) : 행 전체의 개수를 돌려준다. 열에 NULL이 포함된 행들 또한 포함된다.
- expression : test, ntext, image를 제외한 형식의 식으로, 집계 함수와 하위 질의는 허용되지 않으며, 대부분의 경우에는 열 이름이 온다.
- ALL : NULL이 아닌 값을 가지는 모든 expression의 개수를 돌려준다. (생략시에는 ALL 적용됨)
- DISTINCT : NULL이 아닌 고유한 값을 가지는 expression의 개수를 돌려준다.
- WHERE 절을 만족하는 행이 없거나 전체적으로 행이 하나도 없을 경우, COUNT 함수는 유일하게 0을 돌려준다.
라인 2 에서 전체 데이터를 조회한다.
라인 3,4 에서 순서대로
1. 전체 행에 대한 데이터의 개수
2. MiddleName 행에 대한 데이터의 개수 (중복 포함)
3. MiddleName 행에 대한 중복을 제외한 데이터의 개수
를 조회한다. 결과는 아래와 같다.
SUM/AVG 함수
- SUM 함수는 열 값들의 합계를 돌려주는 함수이다.
- AVG 함수는 열 값들의 평균값을 돌려주는 함수이다.
- 사용 구문은 다음과 같다.
SUM ( [ ALL | DISTINCT ] expression )
AVG ( [ ALL | DISTINCT ] expression )
- expression : bit를 제외한 숫자 형식의 식으로, 집계 함수와 하위 질의는 허용되지 않으며, 대부분의 경우에는 열이 온다.
- ALL : NULL이 아닌 값을 가지는 모든 expression의 합계/평균값을 돌려준다.
- DISTINCT : NULL이 아닌 고유한 값을 가지는 expression의 합계/평균값을 돌려준다.
- expression이 속한 데이터 형식 범주 중 가장 정확한 형 (int, bigint, decimal,float 등)으로 값을 돌려준다.
라인 2에서
1. ListPrice 합계
2. 중복을 제외한 ListPrice 합계
라인 3에서
1. ListPrice 평균값
2. 중복을 제외한 ListPrice 평균값
을 조회한다.
MAX/MIN 함수
- MAX : 열 값들 중에서 최대값을 돌려주는 함수이다.
- MIN : 열 값들 중에서 최소값을 돌려주는 함수이다.
- 사용 구문은 다음과 같다.
MAX ( [ ALL | DISTINCT ] expression )
MIN ( [ ALL | DISTINCT ] expression )
- expression : bit을 제외한 숫자형, char, varchar 또는 datetime 형식의 식으로, 집계 함수와 하위 질의는 허용되지 않으며, 대부분의 경우 열 이름이 온다.
- ALL : NULL이 아닌 값을 가지는 모든 expression 중 최대값/최소값을 돌려준다.
- DISTINCT는 특별한 의미가 없게 된다. (중복이 있던 말던 최대값/최소값을 유일하기 때문이다)
라인 2에서 ListPrice의 최대값, 최소값들 조회한다.
'Study > 데이터 베이스' 카테고리의 다른 글
[DBMS 강의 - 12] 집계 연산자 (0) | 2014.04.28 |
---|---|
[DBMS 강의 - 11] GROUP BY / HAVING (0) | 2014.04.27 |
[DBMS 강의 - 09] 유니온 (0) | 2014.04.22 |
[DBMS 강의 - 08] 하위 쿼리 (0) | 2014.04.22 |
[DBMS 강의 - 07] 테이블 조회_3 (0) | 2014.03.11 |