UNION : 1개의 결과 세트 나타남, 중복제거
UNION ALL : 중복포함
JOIN : 적어도 하나의 속성이 공통이 두 테이블 속성을 결합할 때 사용
https://school.programmers.co.kr/learn/courses/30/lessons/131537
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
# UNION 사용하기, union이랑 join이랑 차이 공부
SELECT DATE_FORMAT(SALES_DATE,'%Y-%m-%d') AS SALES_DATE ,PRODUCT_ID,USER_ID,SALES_AMOUNT
FROM ONLINE_SALE
WHERE SALES_DATE LIKE ("2022-03%")
UNION
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 LIKE ("2022-03%")
ORDER BY SALES_DATE, PRODUCT_ID, USER_ID
OFFLINE_SALE 테이블의 판매 데이터의 USER_ID 값은 NULL 로 표시해주세요
-> NULL AS USER_ID
JOIIN 대신 UNION 사용하는 이유
JOIN은 공통된 속성이 1개 이상 있어야 한다. 위 문제는 온라인과 오프라인에서 각각 2022년 3월에 구매한 정보를 구하는 것이기에 UNION이 적절하다
'프로그래머스 SQL kit' 카테고리의 다른 글
[GROUP BY] 식품분류별 가장 비싼 식품의 정보 조회하기/ (0) | 2024.11.05 |
---|---|
[STRING/DATE] 카테고리 별 상품 개수 구하기/SUBSTRING() (1) | 2024.11.01 |
[JOIN] 없어진 기록 찾기 /JOIN대신 NOT EXSITS 사용하기 (0) | 2024.11.01 |
[SUM,MAX,MIN] 연도별 대장균 크기의 편차 구하기/JOIN절/YEAR() (1) | 2024.10.29 |
[SUM,MAX,MIN] 물고기 종류 별 대어 찾기/WHERE-IN절/DENSE_RANK (0) | 2024.10.29 |