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일차 인증!


'클래스 리뷰 > 22.05 빡공단 SQL 강의' 카테고리의 다른 글
빡공단 22기 도전기 - SQL 속도와 성능을 고려한 코드작성 (29일차) (1) | 2022.12.07 |
---|---|
빡공단 22기 도전기 - SQL WHERE 서브쿼리 (28일차) (2) | 2022.12.07 |
빡공단 22기 도전기 - SQL SELECT 서브쿼리 (26일차) (0) | 2022.12.07 |
빡공단 22기 도전기 - SQL 실전 데이터 분석 (25일차) (0) | 2022.12.07 |
빡공단 22기 도전기 - SQL 기타 JOIN (24일차) (0) | 2022.12.07 |
댓글