데이터베이스/MySQL 문제 풀이

프로그래머스4/오프라인/온라인 판매 데이터 통합하기/union,서브쿼리,null

backend dev 2023. 3. 29.

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

union( 데이터 중복 상관없이 다 합침)

 

union all  ( 중복된 데이터는 하나만 냅두고 합침)

 

union한 결과에다가 조건을 붙이고 싶다면

 

그 결과를 서브쿼리로 사용한다. 서브쿼리에는 별칭부여해야함

 

Null을 사용해야한다면 Null 쓰고 별칭부여

 

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 as user_id,
    sales_amount

    from offline_sale
) as t
where sales_date like '2022-03%'
order by sales_date , product_id,user_id

댓글