집계함수
- 통계함수,집약함수, 집합함수
- 집계 결과를 만들어낸다.
- 복수의 행을 입력받아 단일 값을 반환(***)
1. count() : 갯수
2. sum() : 누적값
3. avg() : 평균
4. max() : 최대
5. min() : 최소
--------------------------------------------------------------------------------------------------------------------------
1. count()
- number count(컬럼명)**
- number count(연산식)
- number count(상수)
- 특정 컬럼을 지정했을 때 그 컬럼값이 null을 가지면, null을 가지는 레코드는 카운트에서 제외
- *을 지정했을 때 null과 상관없이 항상 모든 레코드의 카운트를 반환
ex)tblinsa. 연락처가 아직 없는 직원? 몇명?
-select count(*) - count(tel) from tblinsa;
ex) tblinsa. 연락처가 있는 직원? 몇명?
-select count(tel) from tblinsa;
ex) 부서가 7개 -> 7 반환 : tblinsa에는 부서가 총 몇개 있습니까? + distinct
- select count(DISTINCT buseo) from tblinsa;
**집계 함수 사용 시 주의할 것!
1. 집계함수의 결과는 일반 컬럼과 함께 컬럼 리스트에 기재할 수 없다.
2. 집계함수의 결과는 where 절에서 사용할 수 없다.
-where절 : 레코드의 대한 조건절(개인에 대한 조건)
ex)직원들 중 평균 급여보다 많이 받은 직원들이??
select * from tblinsa where basicpay >=(select avg(basicpay) from tblinsa);
-select count(*) from tblinsa where basicpay >= 1556526;
--------------------------------------------------------------------------------------------------------------------------
2. sum()
- number sum(컬럼명)
- 해당 컬럼값의 총합을 반환
- 숫자 컬럼만을 대상으로 한다,
- 숫자 이외의 자료형은 넣을 수 없다.
ex)총급여, 총수당
- select sum(basicpay),sum(sudang),sum(basicpay + sudang) from tblinsa;
--------------------------------------------------------------------------------------------------------------------------
3. avg()
- number avg(컬럼명)
- 숫자 컬럼을 대상으로 한다.
- null을 제외하고 평균을 낸다.
ex) 모든 나라의 평균 인구수?
- select count(*) from tblcountry; --14
- select sum(population) from tblcountry; --202652
4.max() / min()
- object max(컬럼명)
- object min(컬럼명)
- 해당 컬럼값들 중 가장 큰값 or 가장 작은값 반환
- 숫자, 문자, 날짜 등..
ex)
- select max(height),min(weight) from tblname;
- select min(ibsadate) from tblinsa where buseo ='총무부';
'오라클' 카테고리의 다른 글
오라클(SQL) 함수2(문자열 함수) (0) | 2018.09.03 |
---|---|
오라클(SQL) 함수2(수학 관련 함수) (0) | 2018.08.31 |
오라클 DB 강좌 (0) | 2018.08.31 |
DDL (1) | 2018.08.29 |
조인(JOIN) (0) | 2018.08.29 |