반응형
안녕하세요! 잡다한 공방입니다.
오늘은 SQLD 자격증 시험의 단골 문제이자, 실무 데이터 분석에서도 정말 자주 쓰이는 윈도우 함수(Window Function)를 정리해 보려 합니다.
특히 많은 수험생이 헷갈려 하시는 RANK, DENSE_RANK, ROW_NUMBER의 차이점을 중점적으로 다뤄보겠습니다.
1. 윈도우 함수(Window Function)란?
윈도우 함수는 행과 행 사이의 관계를 정의하기 위해 사용하는 함수입니다. 일반적인 GROUP BY와 달리 행의 수를 줄이지 않고도 각 행에 집계 결과를 표시할 수 있다는 장점이 있습니다.
SELECT 함수(열) OVER (PARTITION BY 그룹열 ORDER BY 정렬열)
FROM 테이블명;
- PARTITION BY: 소그룹으로 나눌 기준
- ORDER BY: 순위를 정하거나 범위를 지정할 기준
2. 순위 함수 3종 세트 비교
시험에서 가장 많이 출제되는 유형은 "다음 중 결과값이 다른 것은?"입니다. 아래 표만 외워도 한 문제는 맞힌 셈입니다!
| 함수명 | 특징 | 예시 (100, 100, 90점) |
|---|---|---|
| RANK | 중복 순위만큼 건너뜀 | 1등, 1등, 3등 |
| DENSE_RANK | 중복 순위가 있어도 연속됨 | 1등, 1등, 2등 |
| ROW_NUMBER | 중복과 상관없이 고유 번호 부여 | 1등, 2등, 3등 |
3. 💡 암기 팁
"DENSE는 빈틈이 없다!"
영어 단어 Dense(밀집한, 빽빽한)를 떠올리세요. 순위 사이에 빈틈(건너뛰기)이 없는 것이 바로
DENSE_RANK입니다.
4. 마무리하며
오늘 정리한 내용이 여러분의 합격에 작은 도움이 되길 바랍니다! 궁금하신 점은 댓글로 남겨주시고, 도움이 되셨다면 공감 부탁드립니다.
반응형
'자격증 > SQLD' 카테고리의 다른 글
| [#SQLD] 제54회 SQL 개발자(SQLD) 합격후기 (2) | 2024.11.13 |
|---|---|
| [#SQLD] 제 8절 절차형 SQL (0) | 2023.03.10 |
| [#SQLD] 제 7절 DCL (Data Control Language) (0) | 2023.03.10 |
| [#SQLD] 제 6절 윈도우 함수 (0) | 2023.03.09 |
| [#SQLD] 제 5절 그룹함수(GROUP 함수) (0) | 2023.03.09 |
댓글