RANK, DENSE_RANK, ROW_NUMBER 함수는 오라클에서 모두 순위를 반환하는 함수 이다. 하지만 중복 값이 발생했을 때 반환하는 값에 차이가 있다.

  • RANK(): 중복 순위 다음은 항상 개수만큼 건너뛰고 반환
  • DENSE_RANK(): 중복 순위 다음은 개수 상관 없이 다음 순서 반환
  • ROW_NUMBER: 중복 상관 없이 반환 Image

위의 결과는 salary 값으로 정렬하였고, ranking1은 RANK()함수, ranking2는 DENSE_RANK()함수, ranking3은 ROW_NUMBER() 함수로 뽑은 결과이다.