Notice
Recent Posts
Recent Comments
Link
«   2026/05   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Archives
Today
Total
관리 메뉴

ki-sd 님의 블로그

[2026-04-15] 내장 함수, 집계, 그리고 데이터 통계 분석 본문

OracleStudy

[2026-04-15] 내장 함수, 집계, 그리고 데이터 통계 분석

ki-sd 2026. 4. 18. 01:10

오라클이 제공하는 강력한 내장 함수 라이브러리를 통해 원시 데이터를 가공하고, 비즈니스 인사이트를 도출하기 위한 통계(그룹화) 로직을 설계했다.

 

1. 단일 행 함수(Single-Row Function)의 활용

  • 문자/숫자/날짜: SUBSTR(문자열 자르기), UPPER(대문자 변환), ROUND(반올림), SYSDATE(현재 서버 시간) 등을 활용해 출력 포맷을 자유자재로 조작했다.
  • 형변환과 NULL 처리: 날짜나 숫자를 원하는 포맷의 문자로 바꾸는 TO_CHAR의 위력을 실습했다. 또한 NULL 데이터와 산술 연산을 하면 결과가 무조건 NULL이 되는 오류를 막기 위해, NVL(컬럼, 대체값) 함수를 씌워 0 등 다른 값으로 치환하는 필수 방어 로직을 습득했다.
  • 조건 분기: 자바의 switch나 if문 역할을 하는 오라클 전용 함수 DECODE와, 표준 문법인 CASE WHEN THEN 구문을 이용해 쿼리 안에서 즉각적으로 데이터를 치환 및 분기하는 실전 테크닉을 익혔다.

2. 집계 함수와 그룹화 (GROUP BY / HAVING)

  • SUM, AVG, MAX, COUNT 등의 집계 함수는 여러 행을 입력받아 단 하나의 결과를 반환한다.
  • 전체 데이터가 아닌 부서별, 직급별 평균 급여를 구하기 위해 GROUP BY 절을 사용했다.
  • WHERE vs HAVING: WHERE 절은 그룹화하기 '전'에 개별 행을 필터링하고, HAVING 절은 그룹화가 완료된 '후'의 집계 결과(예: 평균 급여가 300 이상인 부서만)를 필터링한다는 실행 순서의 결정적 차이를 100여 개의 샘플 데이터를 조작하며 완벽히 체득했다.