◆ 집계 기능
– 세다
: 총 행 수
SELECT COUNT(*)
, COUNT(MGR) # NULL값이 존재한다면 제외하고 카운트
, COUNT(1)
– COUNT(exp): exp 열의 행 수, NULL은 계산에서 제외
– SUM(exp): exp 칼럼 값의 합, NULL은 계산에서 제외
– AVG(exp): exp 열 값의 평균, NULL은 계산에서 제외
– MAX(exp): exp 열 중 가장 큰 값, NULL은 계산에서 제외
– MIN(exp): exp 열 중 가장 작은 값, NULL은 계산에서 제외
– STDDEV(exp): exp 값의 표준편차, NULL은 계산에서 제외
– VARIAN(exp): exp 값의 분산, NULL은 계산에서 제외
◆ 연습
select max(sal) as sal_max
, min(sal) as sal_min
, sum(sal) as sal_total
, round(avg(sal)) as sal_avg
from emp
1) EMP 테이블에 최고연봉, 최저연봉, 총연봉, 평균연봉을 출력하는 쿼리를 작성하라(평균연봉은 정수로 반올림)
select coalesce(max(sal), 0)-coalesce(min(sal),0) as sal_diff
from emp
2) EMP 테이블에서 최고 임금과 최저 임금의 차이를 표시하는 쿼리를 작성하십시오.
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
3) 총 사원 수와 1981년과 1982년에 입사한 사원 수를 EMP 테이블에 표시하는 쿼리를 작성하십시오.
select count(distinct(mgr)) as cnt_mgr
from emp
4) 직원 중 관리자 수를 표시하는 쿼리 작성(중복이 제거된 관리자 수)