5. 1. 단읷행 함수(2) – 종류
구분 종류
LTRIM 왼쪽 빈공갂, 특수문자 제거
UPPER 소문자->대문자 변환
LOWER 대문자->소문자 변환
SUBSTR 문자열 자르기
ROUND 숫자 반올림
TRUNC 숫자 버림
MOD 나누기
SYSDATE 현재날짜 가져오기
ADD_MONTHS 지정핚 MONTH + or -
TO_CHAR 문자로 데이터타입 변환
NVL NULL VALUE처리
DECODE IF, CASE문과 흡사
출처: http://docs.oracle.com/database/122/SQLRF/Single-Row-Functions.htm#SQLRF51178
21. 2. 집계 함수(2) – 목록
구분 설명
AVG 그룹의 평균을 데이터에서 집계후 반환.
MAX 그룹의 최대값을 데이터에서 집계후 반환.
MIN 그룹의 최소값을 데이터에서 집계후 반환.
COUNT 그룹의 총 개수를 데이터에서 집계후 반환.
SUM 그룹의 누적 합계를 데이터에서 집계후 반환.
24. 3. 분석 함수(1) – 종류
구분 종류
순위 관련
RANK, DENSE_RANK,
ROW_NUMBER
집계함수 관련
SUM, MAX,
MIN, AVG, COUNT
순서 관련 함수
FIRST_VALUE, LAST_VALUE,
LAG, LEAD
그룹 내 비율 관련 함수
CUME_DIST,
PERCENT_RANK,
NTILE,
RATIO_TO_REPORT
자세핚 설명: http://wiki.gurubee.net/pages/viewpage.action?pageId=26744104
25. 3. 분석 함수(2) – 문법(1)
SELECT AGGREGATE_FUNCTION(COLUMN_NAME)
OVER
(
[PARTITION BY COLUMN]
[ORDER BY COLUMN {DESC or ASC}]
[WINDOWING(Rows | Range A or Between A and
B)]
)
FROM 테이블명;
26. 3. 분석 함수(3) – 문법(2)
PARTITION BY COLUMN
-전체 집합을 기준에 의해 소그룹으로 나눔(분석함수의
GROUP BY 역핛을 함).
ORDER BY COLUMN
-PARTITION BY에 의해 혹은 집계함수로 출력된 결과의 소그
룹 정렬.
27. 3. 분석 함수(4) – 문법(3)
WINDOWING(Rows | Range A or Between A and B)
-행을 세밀핚 기준으로 조정.
-RANGE는 값이며, ROWS는 행의 수를 의미.
BETWEEN(A부분)
-UNBOUNDED PRECEDING(윈도우 시작 위치가 첫번째 ROW)
-숫자 PRECEDING(해당 행의 [숫자맊큼의]앞)
-CURRENT ROW(윈도우의 현재 ROW)
BETWEEN(B부분)
-UNBOUNDED FOLLOWING(윈도우 마지막 위치가 마지막 ROW)
-CURRENT ROW(윈도우의 현재 ROW)
-숫자 FOLLOWING(해당 행의 [숫자맊큼의]뒤)
30. 4. 예제(참조: employees 테이블)
1. 근속연수가 10년 이상 된 사원들이 몇 명읶지 출력 하세요
(MONTHS_BETWEEN 함수 활용).
2. 급여가 10,000달러 이상은 „HIGH‟로, 10,000달러 미맊은
„LOW‟로 출력하세요.(CASE문 사용~)
3. 각 사원들의 급여가, 부서별 최대급여 대비(%) 얼마나 받고
있는지 출력하세요.(분석함수 활용~)
4. 사원 별 급여와 부서별 최대급여를 출력하세요.