본문 바로가기
클래스 리뷰/22.05 빡공단 SQL 강의

빡공단 22기 도전기 - SQL FROM 서브쿼리 (27일차)

by 직_장인 2022. 12. 7.

 

FROM - 서브쿼리

 

1. RANK() / DENSE_RANK() 함수

  • FROM()절 서브쿼리를 하기 전, RANK() 함수부터 알아보자.
  • 급여를 기준으로 순위를 매기려고 한다.
  • 처음에 RANK()를 작성하고, window 함수인 OVER()를 써서 정렬할 수 있다.
  • 특정 그룹을 기준으로 순위를 매기려면 PARTITION BY(), GROUP BY처럼 특정 기준에 대한 컬럼을 쓰면 된다.
  • 그렇지 않을 경우는 ORDER BY()를 사용해서 컬럼명 기준으로 순위를 매긴다.
  • RANK()는 순위가 중복 될 경우 다음 순위가 중복 수만큼 건너뛴 순위로 나온다.
  • DENSE_RANK()는 중복 순위는 고려하지 않고 순서대로 출력된다.

 

2. FROM() 절 서브쿼리

  • 순위가 2인 값만 출력하기 위해 WHERE()절을 이용하면, window함수를 쓸 수 없다며 오류가 발생한다.
  • window함수나 특정 조건으로 인해 상위커리로 올라가서 작성해야하는 경우가 자주 생기는데, 이때 FROM()절 서브쿼리 형태로 작성한다.

 

3. FROM() 절 서브쿼리 확장

  • 사원테이블에서 부서번호 기준으로 대상자의 급여 순위

 

27일차 인증!

 

 

댓글