전체 방문자
오늘
어제
21종
종이의 코딩 공부방
21종
  • 분류 전체보기 (171)
    • JAVA (64)
    • Springboot (46)
      • 블로그만들기 (45)
    • Database (60)
      • Oracle (60)
    • 프로젝트 3 (CELOVER) (0)
    • 개발서버 구축 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

최근 글

최근 댓글

hELLO · Designed By 정상우.
21종

종이의 코딩 공부방

Database/Oracle

[Oracle] 함수(FUNCTION)_그룹 함수

2023. 7. 5. 19:55

< 그룹함수 >


1. SUM(숫자타입 컬럼) : 해당 컬럼 값들의 총 합계를 구해서 반환해주는 함수

-- EMPLOYEE 테이블의 전 사원의 급여합
SELECT SUM(SALARY)
FROM EMPLOYEE;  -- 전체 사원이 한 그룹으로 묶임

 

-- 남자 사원들의 총 급여 합
SELECT SUM(SALARY) --3
FROM EMPLOYEE -- 1 
WHERE SUBSTR(EMP_NO,8,1) IN ('1','3'); --2

 

-- 부서코드가 D5인 사원들의 총 연봉 합
SELECT SUM(SALARY * 12)
FROM EMPLOYEE
WHERE DEPT_CODE = 'D5';


2. AVG(숫자타입) : 해당 컬럼값들의 평균값을 구해서 반환

SELECT ROUND(AVG(SALARY))
FROM EMPLOYEE;


3. MIN(여러타입) : 해당 컬럼값들 중에 가장 작은 값 구해서 반환

SELECT MIN(EMP_NAME), MIN(SALARY), MIN(HIRE_DATE)
FROM EMPLOYEE;


4. MAX(여러타입) : 해당 컬럼값들 중에 가장 큰 값 구해서 반환

SELECT MAX(EMP_NAME), MAX(SALARY), MAX(HIRE_DATE)
FROM EMPLOYEE;


5. COUNT(*|컬럼|DISTINCT 컬럼) : 조회된 행 개수를 세서 반환

--  COUNT(*) : 조회된 결과의 모든 행 개수를 세서 반환
--  COUNT(컬럼) : 제시한 해당 컬럼값이 NULL이 아닌것만 행 개수 세서 반환
--  COUNT(DISTINCT 컬럼) : 해당 컬럼값 중복을 제거 한 후 행 개수 세서 반환

-- 전체사원수
SELECT COUNT(*)
FROM EMPLOYEE;

 

-- 여자사원수
SELECT COUNT(*) -- 3
FROM EMPLOYEE   -- 1
WHERE SUBSTR(EMP_NO,8,1) IN ('2','4'); -- 2

 

-- 보너스를 받는 사원수
-- 1번 방법.
SELECT COUNT(*)
FROM EMPLOYEE
WHERE BONUS IS NOT NULL;

-- 2번 방법.
SELECT COUNT(BONUS) -- 컬럼이 NULL이 아닌것만 카운팅함
FROM EMPLOYEE;

1번 방법.
2번 방법.

 

-- 부서배치를 받은 사원 수
SELECT COUNT(DEPT_CODE)
FROM EMPLOYEE;

 

-- 현재 사원들이 몇개의 부서에 분포되어있는지
SELECT DISTINCT DEPT_CODE
FROM EMPLOYEE;

 

 

 

 

 

    'Database/Oracle' 카테고리의 다른 글
    • [Oracle] HAVING 절
    • [Oracle] GROUP BY 절
    • [Oracle] 함수(FUNCTION)_선택 함수
    • [Oracle] 함수(FUNCTION)_NULL 처리 함수
    21종
    21종
    코딩 공부한 것 정리하려고 만든 블로그

    티스토리툴바