Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- lock free stack
- lock based queue
- find the town judge
- making anagrams
- 비밀 코드 해독
- string construction
- count triplets
- dp
- 2025 프로그래머스 코딩챌린지 1차예선
- 브루트포스
- special string again
- 지게차와 크레인
- boj 11657
- 프로그래밍공부
- PCCE
- DirectX
- boj 1717
- lock based stack
- LCS
- find the running median
- ice cream parlor
- boj 6443
- boj 1074
- the maximum subarray
- pcce 기출문제 풀이
- two characters
- pccp 기출문제 풀이
- c++
- DirectX12
- the longest increasing subsequence
Archives
- Today
- Total
오구의코딩모험
[MySQL] 오프라인/온라인 판매 데이터 통합하기 본문
반응형
[SQL 고득점 KIT - SELECT]
조건과 정렬 값 추출은 어렵지 않았지만,
추출한 두 테이블을 UNION ALL로 합치는 게 중요하였다.
UNION은 두 개 이상의 SELECT문의 행을 합치는 역할,
UNION ALL은 중복을 포함한 모든 값을 합치는 역할이다.
즉, UNION은 중복된 행은 제거하고 하나만 합친다.
위의 문제에서는 동일한 데이터가 없다고하니 UNION, UNION ALL 아무거나 사용해도 괜찮다.
여기서 UNION은 합치려는 두 테이블의 열의 개수가 같아야하는데,
OFFLINE_SALE에는 USER_ID가 없으므로 NULL 값인 열을 USER_ID 이름으로 생성해서 합쳐줬다.
끝
## 온라인 매장
(SELECT DATE_FORMAT(SALES_DATE,'%Y-%m-%d') AS SALES_DATE, PRODUCT_ID, USER_ID, SALES_AMOUNT
FROM ONLINE_SALE
WHERE DATE_FORMAT(SALES_DATE,'%Y-%m') = '2022-03')
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 DATE_FORMAT(SALES_DATE,'%Y-%m') = '2022-03')
## 정렬
ORDER BY SALES_DATE, PRODUCT_ID, USER_ID
반응형
'프로그래밍 공부 > 프로그래머스' 카테고리의 다른 글
[Python] [PCCP 기출문제] 1번 / 동영상 재생기 (2) | 2024.09.09 |
---|---|
[Python] 최소직사각형 (0) | 2023.01.06 |
[MySQL] 재구매가 일어난 상품과 회원 리스트 구하기 (0) | 2023.01.04 |
[MySQL] 3월에 태어난 여성 회원 목록 출력하기 (0) | 2023.01.04 |
[MySQL] 과일로 만든 아이스크림 고르기 (1) | 2023.01.04 |
Comments