-
다중행 함수(집계함수 Aggregate Function)SQL 2023. 4. 18. 21:23
◆ 집계함수
- COUNT(*): 전체 Row의 개수
- COUNT(exp): exp 열의 Row 개수, NULL은 연산에서 제외
SELECT COUNT(*) , COUNT(MGR) # NULL값이 존재한다면 제외하고 카운트 , COUNT(1)
- SUM(exp): exp 열 값의 총합, NULL은 연산에서 제외
- AVG(exp): exp 열 값의 평균, NULL은 연산에서 제외
- MAX(exp): exp 열 중 가장 큰 값, NULL은 연산에서 제외
- MIN(exp): exp 열 중 가장 작은 값, NULL은 연산에서 제외
- STDDEV(exp): exp 값의 표준편차, NULL은 연산에서 제외
- VARIAN(exp): exp 값의 분산, NULL은 연산에서 제외
◆ PRACTICE
1) EMP 테이블에서 최고 급여액, 최저 급여액, 총 급여액, 평균 급여액을 표시하는 질의 작성(평균 급여액은 정수로 반올림하여 표시)
select max(sal) as sal_max , min(sal) as sal_min , sum(sal) as sal_total , round(avg(sal)) as sal_avg from emp
2) EMP 테이블에서 최고 급여액과 최저 급여액의 차액을 표시하는 질의 작성
select coalesce(max(sal), 0)-coalesce(min(sal),0) as sal_diff from emp
3) EMP 테이블에서 총 사원수 및 1981, 1982년에 입사한 사원 수를 표시하는 질의 작성
select count(*) as cnt_emp , count(case when to_char(hiredate, 'YYYY') = 1981 then 1 end) as cnt_hire_1981 , count(case when to_char(hiredate, 'YYYY') = 1982 then 1 end) as cnt_hire_1982 from emp
4) 사원 중에서 관리자의 수를 표시하는 질의 작성(중복이 제거된 관리자의 수)
select count(distinct(mgr)) as cnt_mgr from emp
'SQL' 카테고리의 다른 글
SQL(HAVING 절) (0) 2023.04.18 SQL(GROUP BY) (0) 2023.04.18 SQL 함수(CASE 문) (0) 2023.04.13 SQL 함수(명시적 유형변환 함수) (0) 2023.04.12 SQL 함수(숫자 함수) (0) 2023.04.12