Union
1. UNION 소개
- 우리는 지금까지
JOIN, 서브쿼리라는 강력한 도구들을 배웠습니다. - 이 기술들의 공통점은 기존 테이블의 정보를 조합하거나 필터링해서, 우리가 원하는 형태의 '하나의 결과 집합(Result Set)'을 만들어내는 것이었습니다.
1.1 JOIN vs UNION
JOIN이 여러 테이블을 옆으로(수평으로) 붙여서 더 많은 정보를 가진 컬럼들을 만드는 기술이었다면,UNION은 여러 개의 결과 집합을 아래로(수직으로) 이어 붙여서 더 많은 행을 가진 하나의 집합으로 만드는 기술입니다.JOIN이 정보를 풍성하게 만드는 기술이라면,UNION은 흩어진 집합들을 하나로 모으는 기술이라고 할 수 있습니다.
1.2 문제 상황
"우리 쇼핑몰은 현재 활동 중인 고객을 users 테이블에, 과거에 탈퇴한 고객을 retired_users라는 별도의 테이블에 보관하고 있다. 연말을 맞아 모든 고객(활동+탈퇴)에게 감사 이메일을 보내기 위해, 두 테이블에 흩어져 있는 이름과 이메일을 합쳐서 하나의 전체 목록을 만들어야 한다."
- 이 업무는
JOIN으로는 해결할 수 없습니다. - 두 테이블은 서로 연결된 관계가 아니라, 구조는 비슷하지만 분리된 별개의 집합이기 때문입니다.