반응형
다중행 함수(Multi-row Function)
1. 여러 개의 행의 값들을 같이 연산하는 함수다.
2. 예시
SUM(<컬럼명>) : 총합
AVG(<컬럼명>) : 평균
COUNT(<컬럼명>) : 총 개수
MAX(<컬럼명>) : 최댓값
MIN(<컬럼명>) : 최솟값
예제
1. 집계함수는 다른 칼럼들과 섞어서 사용할 수 없다.
SELECT COUNT(EMPNO)
FROM EMP;
SELECT COUNT(COMM)
FROM EMP;
SELECT COUNT(*), COUNT(COMM)
FROM EMP;
2. 칼럼의 값에 NULL이 있으면 제외하고 계산한다.
SELECT SUM(COMM) FROM EMP;
결과
※예외가 있다. COUNT(*)은 NULL 값도 포함해서 셈한다.
SELECT COUNT(*)
FROM EMP;
COUNT(DISTINCT칼럼)
1. DISTINCT 옵션은 중복값들을 모두 제거하여 한번만 출력될 수 있도록 도와준다. 칼럼 값들이 몇 종류가 있는지 쉽게 알 수 있다.
2. 예제 - 사원테이블에서 사원들의 직무가 총 몇 개인지 중복 없이 셈하라.
SELECT COUNT(DISTINCT JOB)
FROM EMP;
집계함수 예제
-- 급여가 1500 이상인 사원들의 총급여
SELECT SUM(SAL)
FROM EMP
WHERE SAL>=1500;
-- 전 사원의 평균 급여
SELECT AVG(SAL)
FROM EMP;
-- 20번 부서에서 근무하는 사원들의 급여 평균을 구하라
SELECT AVG(SAL)
FROM EMP
WHERE DEPTNO=20;
-- 사원들의 급여 최소값, 최대값
SELECT MAX(SAL), MIN(SAL)
FROM EMP;
-- 현재 시간을 기준으로 직무가 SALESMAN인 사원들의 평균 근무일수?
SELECT AVG(SYSDATE-HIREDATE)
FROM EMP
WHERE JOB='SALESMAN';
반응형
'DB' 카테고리의 다른 글
[SQLD] SQLD 개발자 자격시험(총 50문항) 대비 기출문제 (1) (0) | 2023.08.20 |
---|---|
[SQLD] GROUP BY. 개체수준에서 그룹수준으로 데이터 묶기 (0) | 2023.08.14 |
[SQLD] ORDER BY. SELECT 문으로 얻어온 데이터를 정렬해보자. (0) | 2023.08.11 |
[SQLD] NULL이란 무엇인가? (0) | 2023.08.11 |
[SQLD] CASE 함수, DECODE 함수 (0) | 2023.08.07 |