inblog logo
|
송승현의 블로그
    SQL문제풀기

    [SQL문제풀기]오프라인/온라인 판매 데이터 통합하기

    프로그래머스 SQL 고득점 Kit
    송송승현's avatar
    송송승현
    Dec 09, 2024
    [SQL문제풀기]오프라인/온라인 판매 데이터 통합하기
    Contents
    문제 나의 해답해설

    문제

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

    나의 해답

    SELECT date_format(SALES_DATE,'%Y-%m-%d') as SALES_DATE, PRODUCT_ID, USER_ID, SALES_AMOUNT from ONLINE_SALE where SALES_DATE between '2022-03-01' and '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 '2022-03-01' and '2022-03-31' order by SALES_DATE asc, PRODUCT_ID asc, USER_ID asc

    해설

    • date_format(SALES_DATE,'%Y-%m-%d') as SALES_DATE : SALES_DATE를 ‘YYYY-MM-DD’ 형식으로 변환
    • where SALES_DATE between '2022-03-01' and '2022-03-31' : 판매 날짜가 22년 3월인 데이터를 조회
    • ONLINE_SALE 테이블과 OFFLINE_SALE 테이블을 중복된 행 포함 조건에 걸러지고 남은 모든행 반환
    • order by SALES_DATE asc, PRODUCT_ID asc, USER_ID asc : 판매날짜를 기준으로 오름차순, 제품ID를 기준으로 오름차순, 사용자ID를 기준으로 오름차순 정렬
     
     
    Share article
    Contents
    문제 나의 해답해설

    송승현의 블로그

    RSS·Powered by Inblog