본문 바로가기

Study/데이터 베이스

[DBMS 강의 - 10] 함수

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