하나의 열에 출력 결과를 담는 다중행 함수
그룹 함수 또는 복수행 함수라고도 하는 다중행 함수(multiple-row function)는 여러 행을 바탕으로 하나의 결괏값을 도출할 때 사용함.
SELECT SUM(SAL)
FROM EMP;
다중행 함수는 여러 행을 입력하여 하나의 행으로 결과를 출력하는 특징이 있는데 이러한 특징 때문에 다중행 함수를 사용한 SELECT절에는 기본적으로 결과가 여러 행일 수 있는 열(함수: 연산자를 사용한 데이터도 포함)은 함께 사용할 수 없음.
| 함수 | 설명 |
| SUM | 지정한 데이터의 합을 반환 |
| COUNT | 지정한 데이터의 개수를 반환 |
| MAX | 지정한 데이터 중 최댓값을 반환 |
| MIN | 지정한 데이터 중 최솟값을 반환 |
| AVG | 지정한 데이터의 평균값을 반환 |
합계를 구하는 SUM 함수
SUM([DISTINCT, ALL 중 하나를 선택하거나 아무 값도 지정하지 않음(선택)]
[합계를 구할 열이나 연산자, 함수를 사용한 데이터(필수)])
-- 합계를 구해 반환
SUM([DISTINCT, ALL 중 하나를 선택하거나 아무 값도 지정하지 않음(선택)]
[합계를 구할 열이나 연산자, 함수를 사용한 데이터(필수)])
OVER(분석할 때 사용할 여러 문법 지정)(선택)
-- OVER절은 데이터를 좀 더 깊이 있게 분석할 때에 한해 사용.
SELECT SUM(COMM)
FROM EMP;
-- SUM 함수는 NULL 데이터는 제외하고 합계를 구하므로 별다른 문제 없이 결과 출력
SUM 함수와 DISTINCT, ALL 함께 사용하기
SELECT SUM (DISTINCT SAL),
SUM (ALL SAL),
SUM (SAL)
FROM EMP;
** ALL을 사용한 결과와 아무 옵션을 지정하지 않은 SUM함수의 결과는 같지만, SUM 함수에 DISTINCT 를 지정하면 결괏값이 같은 데이터는 합계에서 한번만 사용하기 때문에 결과가 다름.
DISTINCT는 중복 데이터는 제외하고 계산. (잘 안쓰임)
데이터 개수를 구하는 COUNT함수
데이터 개수를 출력할 때 사용하며, COUNT함수에 *을 사용하면 SELECT문의 결괏값으로 나온 행 데이터의 개수를 반환.
COUNT([DISTINCT, ALL 중 하나를 선택하거나 아무 값도 지정하지 않음(선택)]
[개수를 구할 열이나 연산자, 함수를 사용한 데이터(필수)])
OVER(분석할 때 사용할 여러 문법 지정)(선택)
-- 결과 행의 개수를 출력
SELECT COUNT(*)
FROM EMP;
데이터의 개수는 “행(Row)”의 개수를 의미
| 함수 | 의미 | NULL 포함 여부 |
| COUNT(*) | 전체 행 수 | 포함 |
| COUNT(열이름) | 특정 열의 값이 있는 행 수 | NULL은 제외 |
| COUNT(DISTINCT 열이름) | 특정 열의 중복 제거 후 값이 있는 행 수 | NULL은 제외 |
COUNT함수와 DISTINCT, ALL 함께 사용
SELECT COUNT(DISTINCT SAL),
COUNT(ALL SAL),
COUNT(SAL)
FROM EMP;
-- COUNT(DISTINCT SAL)
→ 중복을 제거한(서로 다른) 급여 값의 개수만 셉니다. 역시 NULL은 제외됩니다.
-- COUNT 함수를 사용하여 추가 수당 열 개수 출력하기
SELECT COUNT(COMM)
FROM EMP;
-- NULL 데이터는 반환 개수에서 제외함.
-- COUNT 함수와 IS NOT NULL을 사용하여 추가 수당 열 개수 출력하기
SELECT COUNT(COMM)
FROM EMP
WHERE COMM IS NOT NULL;'SQL' 카테고리의 다른 글
| [SQL] 조인 (0) | 2025.12.01 |
|---|---|
| [SQL] 다중행 함수와 데이터 그룹화_2 (0) | 2025.12.01 |
| [SQL] 데이터 처리와 가공을 위한 오라클 함수_2 (0) | 2025.11.30 |
| [SQL] 데이터 처리와 가공을 위한 오라클 함수_1 (0) | 2025.11.30 |
| [SQL] WHERE절과 연산자 (0) | 2025.11.30 |