STUDY_SEONMIN

SELF JOIN 본문

STUDY/SQL

SELF JOIN

Kululu_ 2021. 4. 17. 15:37

SELF JOIN

셀프 조인은 이름 그대로 테이블 자기 자신과 조인하는 것을 의미합니다. 같은 테이블끼리 조인하는 것이므로 Alias설정을 잘 해주어야 컬럼 사용 시 혼동이 없습니다.

 

SELF JOIN 예시

 

위와 같은 일자별매출 테이블이 있을 때, 일자별 누적 매출액을 확인하고 싶을 때 SELF JOIN을 사용할 수 있습니다.

일자별 누적 매출액을 확인하기 위해서는 2015.11.10의 데이터는 2015.11.01~2015.11.10까지의 데이터와 매칭이 되어서 매출액의 합계를 구해주어야 합니다.

 

우선 데이터를 매칭시키는 작업부터 해보겠습니다.

SELECT A.*, B.*
FROM 일자별매출 AS A
JOIN 일자별매출 AS B
ON A.일자 >= B.일자
ORDER BY A.일자, B.일자;

SQL문을 실행시키면 이렇게 11.01데이터는 11.01데이터와, 11.02데이터는 11.01, 11.02 데이터와 매칭이되는 것을 확인할 수 있습니다.

 

그럼 여기서는 A.일자로 그룹핑을 함과 동시에 매출액의 합계를 구해주기만 하면 일자별 누적매출액을 구할 수 있는 것입니다.

 

SELECT A.일자, SUM(B.매출액) AS 누적매출액
FROM 일자별매출 AS A
JOIN 일자별매출 AS B
ON A.일자 >= B.일자
GROUP BY A.일자;

'STUDY > SQL' 카테고리의 다른 글

SQLD 시험 후기  (0) 2021.06.25
SELECT FROM tables  (0) 2021.04.19
집계함수의 사용  (0) 2021.04.16
NULL값의 연산  (0) 2021.04.15
JOIN(INNER, OUTER)  (0) 2021.04.13
Comments