[SQL] 오프라인/온라인 판매 데이터 통합하기(프로그래머스)
2024. 5. 4. 15:51ㆍ코딩 테스트
문제



개념
- UNION, UNION ALL
- 여러 쿼리문들을 합쳐서 하나의 쿼리문으로 만들어주는 방법이다.(수직 결합)
- JOIN은 수평 결합
- UNION은 중복된 값을 제거하고 UNION ALL은 제거하지 않는다.
- 컬럼명이 동일해야 한다. (같지 않을 경우 AS 를 이용해서 동일하게 맞춰줘야 한다.)
- 컬럼별로 데이터 타입이 동일해야 한다.
- 출력할 컬럼의 개수가 동일해야 한다.
- 여러 쿼리문들을 합쳐서 하나의 쿼리문으로 만들어주는 방법이다.(수직 결합)
- NULL로 새로운 열을 생성할 수 있다.
정답
SELECT
DATE_FORMAT(SALES_DATE,'%Y-%m-%d') SALES_DATE,
PRODUCT_ID,
USER_ID,
SALES_AMOUNT
FROM ONLINE_SALE
WHERE SALES_DATE LIKE '2022-03%'
UNION ALL
SELECT
DATE_FORMAT(SALES_DATE,'%Y-%m-%d') SALES_DATE,
PRODUCT_ID,
NULL AS USER_ID,
SALES_AMOUNT
FROM OFFLINE_SALE
WHERE SALES_DATE LIKE '2022-03%'
ORDER BY 1, 2, 3'코딩 테스트' 카테고리의 다른 글
| [SQL] 물고기 종류 별 대어 찾기 (0) | 2024.05.04 |
|---|---|
| [SQL] 입양 시각 구하기(2) (0) | 2024.05.04 |
| [SQL] 대장균들의 자식의 수 구하기 (0) | 2024.05.04 |
| [SQL] 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 (0) | 2024.05.04 |
| [SQL] 잡은 물고기의 평균 길이 구하기 (0) | 2024.05.02 |