티스토리 뷰
What I Learned/Query Practice
[programmers - MySQL] SELECT: 오프라인/온라인 판매 데이터 통합하기
Interrobang 2023. 8. 1. 21:50문제 링크
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 풀이
SELECT * FROM (
SELECT
DATE_FORMAT(SALES_DATE, '%Y-%m-%d') AS SALES_DATE,
PRODUCT_ID,
USER_ID,
SALES_AMOUNT
FROM ONLINE_SALE
UNION
SELECT
DATE_FORMAT(SALES_DATE, '%Y-%m-%d') AS SALES_DATE,
PRODUCT_ID,
NULL,
SALES_AMOUNT
FROM OFFLINE_SALE
) A
WHERE SALES_DATE LIKE '2022-03%'
ORDER BY SALES_DATE, PRODUCT_ID, USER_ID
*key point: 집합 연산자 UNION을 이용하여 두 테이블을 합친다. 이때 빠진 OFFLINE_SALE 테이블의 USER_ID 부분은 NULL로 채워준다. 합쳐진 테이블을 다시 SELECT 절로 조회하면서 WHERE, ORDER BY 조건을 걸어준다.
'What I Learned > Query Practice' 카테고리의 다른 글
[programmers - MySQL] SELECT: 어린 동물 찾기 (0) | 2023.08.01 |
---|---|
[programmers - MySQL] SELECT: 아픈 동물 찾기 (0) | 2023.08.01 |
[programmers - MySQL] SELECT: 역순 정렬하기 (0) | 2023.08.01 |
[programmers - MySQL] SELECT: 재구매가 일어난 상품과 회원 리스트 구하기 (0) | 2023.08.01 |
[programmers - MySQL] SELECT: 모든 레코드 조회하기 (0) | 2023.08.01 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- SQL
- 항해+
- 2903
- 2587
- 항해 플러스
- Programmers
- MySQL
- 24313
- Wil
- Python
- 24723
- 26069
- 2053
- 벡준
- 5597
- 17103
- 13241
- 4134
- 1269
- programmer
- 13909
- 25501
- 20920
- 24060
- 25192
- 백준
- 코육대
- 10807
- til
- 2738
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함