SQL 윈도우 함수 활용 연습문제

문제 1

회사의 직원 테이블에서 다음과 같은 정보를 출력해야 합니다.

SELECT 직원의_이름, 부서, 월급, 
       RANK() OVER (PARTITION BY 부서 ORDER BY 월급 DESC) AS 순위
FROM 직원_테이블

문제 2

주문 테이블에서 각 고객별로 가장 최근 주문한 날짜를 구해야 합니다.

SELECT 고객ID, 
       MAX(주문날짜) OVER (PARTITION BY 고객ID) AS 최근주문날짜
FROM 주문_테이블

문제 3

가격 테이블에서 각 상품별로 이전 주문부터 현재까지의 누적 판매량을 구해야 합니다.

SELECT 상품ID, 주문날짜, 판매량,
       SUM(판매량) OVER (PARTITION BY 상품ID ORDER BY 주문날짜 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS 누적판매량
FROM 가격_테이블

위의 문제들은 SQL에서 윈도우 함수를 활용하여 해결할 수 있는 대표적인 연습문제입니다. 윈도우 함수를 사용하면 효과적으로 데이터를 집계하고 분석할 수 있습니다.

윈도우 함수는 데이터를 파티션화하고 정렬한 후에 해당 파티션 내에서 함수를 적용합니다. 여러 가지 함수를 사용할 수 있으며, 예제에서는 RANK(), MAX(), SUM() 함수를 사용했습니다.

윈도우 함수를 사용하면 복잡한 쿼리를 단순하게 작성할 수 있으며, 성능도 향상시킬 수 있습니다. 따라서 SQL 사용자들은 윈도우 함수를 잘 활용하여 데이터를 분석하는 데에 활용할 수 있어야 합니다.

#SQL #윈도우함수