2. student 테이블의 birthday 컬럼을 참조해서 아래와 같이 월별로 생일자 수를 출력하세요. [212 페이지]
[1차 시도] PIVOT
[2차 시도] DECODE
▶ PIVOT 사용법이 최선인지 모르겠으나 결과에 EA를 붙여 출력해야 한다면 DECODE를 사용한 코드가 더 효율적일 것으로 생각됨 ( 3번 문제도 마찬가지 )
4. emp 테이블을 사용해 아래의 화면과 같이 부서별 직급별로 급여 합계 결과를 출력하세요 [213 페이지]
▶ 사용 함수 힌트
(1) 문제에 힌트가 숨어있음. [부서별 직급별로] 결과 값에는 부서번호를 제외한 직업별 합계 표기와 부서별 합계, 부서와직업별 합계가 표기됨.
더보기
한 마디로 기준별 소계가 요약되어 있는데, 이를 그룹핑하고 효과적으로 세 가지 조건에 맞는결과를 얻을 수 있는 그룹 함수가 존재함.
(2) 데이터를 확인하면 특정 데이터는 직업이 없고(Null) 특정 부서에만 소속되어 있음. 결과 값은 해당 부서와 직업의 월급 합계를 나타내는 것으로, 한 마디로 직업이 Null인 데이터는 합산해서는 안 됨.
더보기
특정 컬럼의 값이 Null일 경우 var 1을 반환하며, 아닐 경우 var 2를 반환하는 함수가 존재함.
▶ 정답
'DB > Oracle' 카테고리의 다른 글
[Oracle] 쿼리문의 실행 계획 확인하기 (0) | 2021.08.22 |
---|---|
[Oracle] LAG 함수 활용 - 차이 구하기 (0) | 2021.08.11 |
[Oracle] RATIO_TO_REPORT( ) 함수 - 비율 구하기 (0) | 2021.08.11 |
[Oracle] SUM ( ) OVER를 활용한 누계 구하기 (0) | 2021.08.11 |
[Oracle] 윈도우 함수/RANK( ) 함수 - 순위 출력 함수, DENSE_RANK( ) 순위 함수, ROW_NUMBER( ) 순위 함수 (0) | 2021.08.09 |