728x90
두 개 이상의 SQL 쿼리문을 합치는 방법
부득이하게 여러개에 쿼리문을 사용하여 하나에 데이터로 출력해야되는 경우가 존재한다.
이럴 때 사용하는 방법이 바로 UNION 연산자이다.
👉 근데, 그러려면 한 가지 조건이 있어요! 노란색과 파란색 박스의 필드명이 같아야 한다. 🙂

ex)
SELECT ID, NAME FROM TABLE1 ;
SELECT ID, NAME FROM TABLE2 ;
SELECT ID, NAME FROM TABLE1 ;
UNION ALL
SELECT ID, NAME FROM TABLE2 ;
(
select '7월' as month, c.title, c2.week, count(*) as cnt from checkins c2
inner join courses c on c2.course_id = c.course_id
inner join orders o on o.user_id = c2.user_id
where o.created_at < '2020-08-01'
group by c2.course_id, c2.week
order by c2.course_id, c2.week
)
union all
(
select '8월' as month, c.title, c2.week, count(*) as cnt from checkins c2
inner join courses c on c2.course_id = c.course_id
inner join orders o on o.user_id = c2.user_id
where o.created_at > '2020-08-01'
group by c2.course_id, c2.week
order by c2.course_id, c2.week
)
👉 union을 사용하면 내부 정렬이 먹지 않아요. 이 때 유용한 방법이 있다. 바로, SubQuery(서브쿼리)를 사용하는 것이다.
'DB' 카테고리의 다른 글
[DB] WITH문 (0) | 2023.06.02 |
---|---|
[DB] 서브 쿼리 (0) | 2023.06.02 |
[DB] Join(Left (outer) Join, Inner Join) (0) | 2023.06.02 |
[DB] SQL문 기본 문법 - select (0) | 2023.06.01 |
[DB] mongoDB 시작하기 (0) | 2023.05.18 |