<NTILE>
- 등급 출력.
▶ 월급의 등급을 4등급으로 나눠서 출력해봄
(균등하게 1등급은 0~25% 2등급은 25~50%, 이런식으로)

▶ NTILE( ) 에 숫자를 4를 쓰면 4등급, 5를 쓰면 5등급으로 나누어짐.
▷ 100%를 나눠서 등급을 매겨줌
▷ order by 뒤에 nulls last는 월급이 높은 것부터 출력된 후에 NULL을 맨 아래에 출력하겠다는 얘기.

<CUME_DIST>
- 데이터 순위의 비율을 출력
▶ 월급의 순위와 순위의 비율을 출력하자면 아래와 같음

▷ 사원 KING의 0.07인 것은 1/14(총14행)로 계산된 결과, 2등 2명은 3/14(2명이니까 1등1명 + 2등 2명)
▶ 파티션바이써서 직업별로 순위 비율 출력해보면

<LISTAGG>
- 특정 컬럼에 속한 데이터를 가로로 한 칸에 출력
▼ LISTAGG 함수를 사용해 부서 번호와 부서에 해당하는 사원들 이름 출력

구분자로 콤마를 사용해서 출력함.
order by를 사용해서 이름을 ABCD 순으로 정렬되게 출력.
▶GROUP BY 절은 LISTAGG 함수를 사용하려면 필수
▼ 직업과 직업에 속한 사원들 이름 출력

▶만약 월급도 같이 이름이랑 출력하고 싶으면 연결 연산자를 사용하면 됨.

<LAG, LEAD>
- 바로 전 행과 다음 행 출력
▶ 바로 전 행의 월급과 다음 다음 행의 월급을 출력

LAG와 LEAD에 숫자 1을 쓰면 바로 전 바로 다음,
2를 쓰면 전전행, 다다음행
▶ 직업이 ANALYST 또는 MANAGER인 사원들의 사원번호, 이름, 입사일,
바로 전에 입사한 사원의 입사일, 바로 다음에 입사한 사원의 입사일을 출력해보기

▶ 부서번호, 사원번호, 이름, 입사일, 바로 전에 입사한 사원의 입사일, 바로 다음에 입사한 사원의 입사일을
부서번호별로 구분해서 출력

'데이터베이스 > SQL' 카테고리의 다른 글
SQL 데이터분석함수 SUM OVER, RATIO_TO_REPORT, ROLLUP, CUBE (0) | 2023.12.15 |
---|---|
SQL Row를 column으로 출력 SUM+DECODE, PIVOT, UNPIVOT (0) | 2023.12.12 |
SQL 순위출력 RANK, DENSE_RANK (0) | 2023.11.28 |
SQL 그룹함수 MAX, MIN, AVG, SUM, COUNT (0) | 2023.11.26 |
SQL IF문을 SQL로 해보자 DECODE, CASE (0) | 2023.11.23 |