집계함수
집계함수는 여러 행또는 전체 행으로 부터 하나의 결과 값을 반환하는 함수입니다.
집계함수는 SELECT문 또는 HAVING에서 사용 됩니다.
SELECT문은 최종 결과로 나올 컬럼값을 나열하거나 집계함수를 사용하고, HAVING문은 GROUP BY로 그룹화 할 대상의 컬럼을 준 뒤 그룹화된 후의 조건을 지정할 수 있다는 특징을 가지고 있습니다.
HAVING문과 WHERE문의 쓰임새는 비슷하지만 HAVING문은 그룹화 된 결과에 대한 조건을 지정하며 집계함수를 사용할 수 있습니다.
SELECT 컬럼, 집계함수
FROM 테이블명
[WHERE 조건]
GROUP BY 컬럼
[HAVING 조건, 집계함수]
사용할 수 있는 집계함수의 종류와 사용 방법은 다음과 같다.
집계함수에서 예제로 사용할 학생 테이블은 다음과 같다.
이름 | 국어 | 영어 |
김에이 | 100 | 80 |
박비 | 50 | 100 |
이씨 | 70 | 80 |
한디 | 90 | 60 |
- COUNT : 여러 행이 있는 줄 수
SELECT COUNT(*)
FROM 학생;
→ 학생테이블에 있는 모든 학생의 숫자를 구하는 SQL쿼리문이다.
COUNT(*) |
4 |
SELECT COUNT(이름)
FROM 학생
WHERE 국어 >= 90;
→ 학생테이블에 있는 국어 점수가 90점 이상인 학생의 숫자를 구하는 쿼리문이다.
COUNT(이름) |
2 |
- SUM : 여러 행이 있는 선택된 컬럼 간의 합계
SELECT SUM(국어), SUM(영어)
FROM 학생;
→ 학생테이블의 국어 점수를 모두 더한 값과 영어 점수를 모두 더한값을 각각 구한다.
SUM(국어) | SUM(영어) |
310 | 320 |
- AVG : 여러 행이 있는 선택된 컬럼 간의 평균
SELECT AVG(국어), AVG(영어)
FROM 학생;
→ 학생테이블의 국어 점수의 평균과 영어 점수의 평균을 각각 구한다.
AVG(국어) | AVG(영어) |
77.5 | 80 |
- MAX : 여러 행이 있는 선택된 컬럼 중 최대값
SELECT MAX(국어), MAX(영어)
FROM 학생;
→ 학생테이블의 국어 점수와 영어 점수의 최대값을 각각 알려준다.
MAX(국어) | MAX(영어) |
100 | 100 |
- MIN : 여러 행이 있는 선택된 컬럼 중 최솟값
SELECT MIN(국어), MIN(영어)
FROM 학생;
→ 학생테이블의 국어 점수와 영어 점수의 최솟값을 각각 알려준다.
MIN(국어) | MIN(영어) |
50 | 60 |
- STDDEV : 여러 행의 선택된 컬럼 간의 표준편차
- VARIAN : 여러 행의 선택된 컬럼 간의 분산
표준편차와 분산의 경우는 자주 쓰이지 않으므로 생략합니다. 사용방법은 다른 집계함수들과 같습니다.
'공부' 카테고리의 다른 글
정보처리기사 PART 8 정리 - 윈도함수 (0) | 2021.05.24 |
---|---|
정보처리기사 PART 8 정리 - 그룹함수 (0) | 2021.05.23 |
정보처리기사 PART 8 정리 - 트리거 (0) | 2021.05.06 |
정보처리기사 PART 8 정리 - 사용자 정의함수 (0) | 2021.05.06 |
정보처리기사 PART 8 정리 - 프로시저 (0) | 2021.05.06 |