DB

SQL union all

akinakamori 2024. 9. 4. 18:30
728x90
SMALL

https://school.programmers.co.kr/learn/courses/30/lessons/131537

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

프로그래머스 오프라인/온라인 판매 데이터 통합하기

 

left join을 했는데, 오프라인 테이블에는 없는 컬럼이 온라인에 있어서 조인 시 오프라인 구매 데이터는 안 남는다

full outer join ?

-> rdb는 풀 아우터 조인 없음


1) left join, right join, union을 모두 사용하거나
2) union all 사용

 

-- 코드를 입력하세요
SELECT SUBSTRING(o.SALES_DATE, 1, 10) SALES_DATE, o.PRODUCT_ID, o.USER_ID, o.SALES_AMOUNT
FROM ONLINE_SALE o
WHERE SUBSTRING(o.SALES_DATE, 1, 7) = '2022-03'

UNION ALL

SELECT SUBSTRING(off.SALES_DATE, 1, 10) SALES_DATE, off.PRODUCT_ID, NULL as USER_ID, off.SALES_AMOUNT
FROM OFFLINE_SALE off
WHERE SUBSTRING(off.SALES_DATE, 1, 7) = '2022-03'

ORDER BY SALES_DATE ASC, PRODUCT_ID ASC, USER_ID ASC
;

 

728x90
LIST

'DB' 카테고리의 다른 글

SQL null의 처리  (5) 2024.09.06
SQL CTE (Common Table Expression)  (0) 2024.09.05
SQL varray를 RDB에서 쓰는 법 - distinct, bit 연산  (1) 2024.09.04
SQL in  (0) 2024.09.04