예를 들어 USER_INFO 테이블이 다음과 같고
ONLINE_SALE 테이블이 다음과 같다면
2022년 1월에 상품을 구매한 회원은 USER_ID 가 1(GENDER=1), 4(GENDER=0)인 회원들이고,
2022년 2월에 상품을 구매한 회원은 USER_ID 가 2(GENDER=NULL), 5(GENDER=1), 6(GENDER=1)인 회원들 이므로,
년, 월, 성별 별로 상품을 구매한 회원수를 집계하고, 년, 월, 성별을 기준으로 오름차순 정렬하면 다음과 같은 실행 결과 가 나와야 한다.
SELECT YEAR(SALES_DATE) as YEAR, -- SALES_DATE에 연도만
MONTH(SALES_DATE) as MONTH, -- SALES_DATE에 월만
USER_INFO.GENDER, -- USER_INFO의 성별
-- 조인을 했을 때 중복되는 행은 제외하고 count(행의 개수를 센다)
count(distinct ONLINE_SALE.USER_ID) as USERS
from ONLINE_SALE
inner join USER_INFO
-- 두 테이블의 USER_ID로 합친다.
on ONLINE_SALE.USER_ID = USER_INFO.USER_ID
where USER_INFO.GENDER is not NULL -- 성별이 NULL이 아닌 경우만 가져온다.
group by YEAR, MONTH, USER_INFO.GENDER
order by YEAR, MONTH,USER_INFO.GENDER
SELECT 필드1, 필드2... or *
FROM A_TABLE A
INNER JOIN B_TABLE B
ON 조인 조건(ex. A.PK = B.PK)
-- INNER JOIN을 JOIN이라고만 써도 INNER JOIN으로 인식한다.