본문 바로가기

오라클

오라클(SQL) 함수1(집계함수)

집계함수


- 통계함수,집약함수, 집합함수

- 집계 결과를 만들어낸다.

- 복수의 행을 입력받아 단일 값을 반환(***)


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