TIL
240807 TIL
승따리
2024. 8. 7. 20:23
SQL
오프라인/온라인 판매 데이터 통합하기
더보기
ONLINE_SALE 테이블과 OFFLINE_SALE 테이블에서 2022년 3월의 오프라인/온라인 상품 판매 데이터의 판매 날짜, 상품ID, 유저ID, 판매량을 출력하는 SQL문을 작성해주세요. OFFLINE_SALE 테이블의 판매 데이터의 USER_ID 값은 NULL 로 표시해주세요. 결과는 판매일을 기준으로 오름차순 정렬해주시고 판매일이 같다면 상품 ID를 기준으로 오름차순, 상품ID까지 같다면 유저 ID를 기준으로 오름차순 정렬해주세요.
online 테이블과 offline 테이블을 합치는것이다
이것은 컬럼을 추가하는 join 이 아닌 행을 추가해야 되는 상황
union에 대해 알아보자.
https://silverji.tistory.com/49
UNION 과 UNION ALL 이란
UNION 이란 여러 쿼리문들을 합쳐서 하나의 쿼리문으로 만들어주는 방법이다. 중복된 값을 제거하고 보여준다. 중복된 값을 제거하는 연산이 추가로 수행되기 때문에 UNION ALL보다 속도가 느리다.
silverji.tistory.com
select date_format(sales_date,'%Y-%m-%d') SALES_DATE,
PRODUCT_ID,
NULL as USER_ID,
SALES_AMOUNT
from offline_sale f
where substr(SALES_DATE,1,7)='2022-03'
union
select date_format(sales_date,'%Y-%m-%d') SALES_DATE,
PRODUCT_ID,
USER_ID,
SALES_AMOUNT
from online_sale o
where substr(SALES_DATE,1,7)='2022-03'
order by 1 asc, 2 asc, 3 asc
ADsP
요약본을 계속 읽고 있다.
이번주 토요일이 시험인데
후.....