SQL S4 · SQL (SQLD)
윈도우 함수·Top N·계층형 질의로 순위 매기고 나무 펼치기
윈도우 함수와 계층형 질의는 결과 표를 직접 보면 차이가 바로 보입니다. RANK 와 DENSE_RANK 가 동점에서 어떻게 갈리는지, PRIOR 를 어느 쪽에 붙이면 나무가 거꾸로 펼쳐지는지가 결과 표에 그대로 드러납니다.
윈도우 함수는 WHERE 에 바로 쓸 수 없어서 인라인 뷰로 감싸는 연습이 함께 들어 있습니다. 같은 결과를 내면 ROWNUM 이든 FETCH FIRST 든 정답입니다.
과제 목록
- 동점을 건너뛰지 않는 순위
- 부서별 최고 급여자 한 명
- 입사 순 누적 급여
- 바로 앞 사원과의 급여 차이
- 급여 상위 3명
- 조직도 펼치기
- SMITH 의 보고 라인
과제마다 SELECT 를 쓰고 실행하면 바로 채점합니다. 여러 문장을 ; 로 이어 써도 되고, 채점은 마지막 문장의 결과로 합니다. 막히면 힌트를 먼저 보고, 그래도 어려우면 모범 답안과 해설을 여세요. 날짜는 YYYY-MM-DD 로 보입니다(실제 Oracle 의 기본 표시는 환경 설정에 따라 다릅니다).
SQL S4SQL 실습장
윈도우 함수·Top N·계층형 질의로 순위 매기고 나무 펼치기
0 / 7 과제 정답
Oracle 문법 · 실제 Oracle 결과와 대조
예제 테이블 보기: EMP · DEPT · SALGRADE펼치기
EMP · 14행
- EMPNONUMBER(4)
- ENAMEVARCHAR2(10)
- JOBVARCHAR2(9)
- MGRNUMBER(4)
- HIREDATEDATE
- SALNUMBER(7,2)
- COMMNUMBER(7,2)
- DEPTNONUMBER(2)
사원 14명. KING 은 관리자(MGR)가 없고, COMM 은 영업직만 있다(TURNER 는 0).
DEPT · 4행
- DEPTNONUMBER(2)
- DNAMEVARCHAR2(14)
- LOCVARCHAR2(13)
부서 4개. 40번 OPERATIONS 에는 사원이 없다.
SALGRADE · 5행
- GRADENUMBER
- LOSALNUMBER
- HISALNUMBER
급여 등급 5단계. EMP.SAL 이 LOSAL~HISAL 사이면 그 등급이다(Non-EQUI 조인 예제).
과제 1 / 7
동점을 건너뛰지 않는 순위
모든 사원의 이름, 급여, 급여 순위를 출력하시오. 순위는 급여가 높은 사원이 1위이고, 같은 급여는 같은 순위이며 다음 순위를 건너뛰지 않는다(1, 2, 2, 3 …). 순위 순, 같으면 이름 순으로 정렬한다.
Ctrl + Enter 로도 실행