'부등호 조인'에 해당되는 글 1건

  1. 2012.10.25 부등호 조인 - SQL전문가 가이드 p.659
반응형

목적: '=' 연산자가 아닌 BETWEEN, LIKE, 부등호 같은 연산자로 조인해야 할 때도 있다.

 

*월별지점매출 테이블이 있다고 하자. 이 테이블을 이용해 각 지점별로 판매월과 함게 증가하는 누적매출(RUNNING TOTAL)을 구하려 한다.

 

1. 윈도우 함수(오라클에서는 분석함수(Analytic Function)라고 함)를 이용하여 아래와 같이 간단히 원하는 결과를 얻을 수 있다.

 

  SELECT 지점, 판매월, 매출

, SUM(매출) OVER (PARTITION BY 지점 ORDER BY 판매월

RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) 누적 매출

  FROM 월별지점매출

  ;

 

2. 만약 윈도우 함수가 지원되지 않는 DBMS를 사용하고 있다면 아래와 같이 부등호 조인을 이용해 같은 결과를 얻을 수 있다.

 

  SELECT T1.지점, T1.판매월, MIN(T1.매출) 매출, SUM(T2.매출) 누적매출

  FROM 월별지점매출 T1, 월별지점매출 T2

  WHERE T2.지점 = T1.지점

  AND T2.판매월 <= T1.판매월

  GROUP BY T1.지점, T1.판매월

  ORDER BY T1.지점, T1.판매월

  ;

반응형