■ 사용 문법
UNION, NULL AS 칼럼 A
■ 사용 방법
두 개의 테이블을 열로 합치는 문제이다. 순간 join을 생각했지만 중복된 칼럼이 있는게 아니라 테이블의 값이 개별적으로 존재 할 것 같아서 열로 합치는 UNION을 생각했다.
UNION은 칼럼이 똑같아야 합칠 수 있다. 그래서 offline에는 존재하지 않는 USER_ID를 NULL 값으로 채워줘서 만들어줘야 한다. 이 때 NULL AS USER_ID를 사용한다.
■ 코드
(SELECT DATE_FORMAT(SALES_DATE,'%Y-%m-%d') AS SALES_DATE, PRODUCT_ID,USER_ID, SALES_AMOUNT
FROM ONLINE_SALE
WHERE SALES_DATE BETWEEN date('2022.03.01') and date('2022.03.31')
UNION ALL
SELECT DATE_FORMAT(SALES_DATE,'%Y-%m-%d') AS SALES_DATE, PRODUCT_ID, NULL AS USER_ID, SALES_AMOUNT
FROM OFFLINE_SALE
WHERE SALES_DATE BETWEEN date('2022.03.01') and date('2022.03.31')
)
ORDER BY SALES_DATE ASC, PRODUCT_ID ASC, USER_ID ASC
728x90
'개발 > SQL' 카테고리의 다른 글
프로그래머스SQL_3월에 태어난 여성 회원 목록 출력하기 (0) | 2024.04.20 |
---|---|
프로그래머스SQL_조건에 부합하는 중고거래 댓글 조회하기 (0) | 2024.04.19 |
프로그래머스SQL_ 12세 이하인 여자 환자 목록 출력하기 (0) | 2024.04.18 |
프로그래머스SQL_ 조건에 맞는 도서 리스트 출력하기 (0) | 2024.04.17 |
프로그래머스SQL_재구매가 일어난 상품과 회원 리스트 구하기 (0) | 2024.04.16 |