반응형
https://school.programmers.co.kr/learn/courses/30/lessons/131537
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
(
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
UNION
- 두 개 이상의 SELECT 쿼리 결과를 결합하는 데 사용.
- 각 쿼리의 결과 집합을 수직으로 결합하여 하나의 결과 집합으로 생성.
- 결합되는 각 SELECT 쿼리는 동일한 열 수와 호환되는 데이터 유형을 가져야 함.
두 쿼리를 결합하기 위해 각 열의 개수를 맞췄고, USER_ID가 존재하지 않는 OFFLINE_SALE 테이블은 NULL로 채워진 새로운 열을 만들고 열 이름을 USER_ID로 지정해서 ONLINE_SALE 테이블과 결합될 수 있도록 했다.
* bigquery 등의 환경에서는 DATE_FORMAT 대신 FORMAT_DATE를 사용한다.
반응형
'SQL' 카테고리의 다른 글
[MYSQL] INTERSECT (교집합) (0) | 2024.08.07 |
---|---|
[MYSQL] MAX 주의사항 (0) | 2024.08.07 |
[MYSQL] WITH, JOIN, CASE, 집계 함수 (0) | 2024.08.04 |
[MYSQL] 3개의 테이블 JOIN (0) | 2024.08.04 |
[MYSQL] PERCENT_RANK() (0) | 2024.08.04 |