
Data Engineering을 위한 고급 SQL
Window 함수, 재귀 CTE, 분석 쿼리, 최적화, EXPLAIN ANALYZE, 인덱싱, 파티셔닝
20 면접 질문·
Mid-Level
1파티션 내 각 행에 고유한 순차 번호를 할당하는 window 함수는 무엇입니까?
1
파티션 내 각 행에 고유한 순차 번호를 할당하는 window 함수는 무엇입니까?
답변
ROW_NUMBER()는 파티션 내 각 행에 1부터 시작하는 고유한 순차 번호를 할당합니다. 동일한 값에 같은 번호를 할당할 수 있는 RANK()와 DENSE_RANK()와 달리, ROW_NUMBER()는 ORDER BY 절에서 값이 동일하더라도 항상 고유한 번호를 보장합니다.
2RANK()와 DENSE_RANK()의 주요 차이점은 무엇입니까?
2
RANK()와 DENSE_RANK()의 주요 차이점은 무엇입니까?
답변
RANK()는 동점 값 이후의 번호 매기기에 간격을 남깁니다. 예를 들어, 두 행이 1위로 매겨지면 다음 행은 3위가 됩니다. DENSE_RANK()는 간격을 남기지 않습니다: 두 행이 1위로 매겨진 후 다음 행은 2위가 됩니다. 이 구분은 간격이 통계를 왜곡할 수 있는 순위 분석에서 중요합니다.
3window 함수로 누적 합계(running total)를 계산하는 방법은?
3
window 함수로 누적 합계(running total)를 계산하는 방법은?
답변
명시적인 프레임 없이 ORDER BY를 사용하는 SUM() OVER는 기본적으로 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW를 사용하여 현재 행을 포함한 모든 이전 행의 합계를 계산합니다. 이는 시계열 또는 순차 분석에서 누적 합계를 생성하는 표준 동작입니다.
4
window 함수에서 PARTITION BY 절의 역할은 무엇입니까?
5
window 함수에서 이전 행의 값에 접근할 수 있는 함수는 무엇입니까?
+17 면접 질문
기타 Data Engineering 면접 주제
Linux & Shell - 기초
Junior
20개 질문Git & GitHub - 기초
Junior
20개 질문데이터 엔지니어링을 위한 고급 Python
Junior
25개 질문Docker - 기초
Junior
25개 질문Google Cloud Platform - 기초
Junior
20개 질문CI/CD 및 코드 품질
Mid-Level
20개 질문Docker Compose
Mid-Level
20개 질문FastAPI - 데이터 API
Mid-Level
20개 질문Data Lake - 아키텍처 및 수집
Mid-Level
20개 질문데이터 엔지니어링을 위한 BigQuery
Mid-Level
20개 질문PostgreSQL - 관리
Mid-Level
20개 질문Data Engineering을 위한 Data Modeling
Mid-Level
20개 질문Fivetran & Airbyte - 데이터 수집
Mid-Level
20개 질문dbt - 기초
Mid-Level
20개 질문Apache Airflow - 기초
Mid-Level
20개 질문Kubernetes - 기초
Mid-Level
20개 질문dbt - 고급 기능
Senior
20개 질문ETL / ELT / ETLT 패턴
Senior
20개 질문Apache Airflow - 고급
Senior
20개 질문Airflow + dbt - 파이프라인 오케스트레이션
Senior
20개 질문PySpark - 대규모 처리
Senior
20개 질문Google Pub/Sub - 데이터 스트리밍
Senior
20개 질문Apache Beam & Dataflow
Senior
20개 질문Kubernetes - 프로덕션 및 스케일링
Senior
20개 질문Terraform - Infrastructure as Code
Senior
20개 질문NoSQL 데이터베이스
Senior
20개 질문모던 Data Architecture
Senior
20개 질문모니터링 및 관찰 가능성
Senior
20개 질문IAM 및 데이터 보안
Senior
20개 질문