본문 바로가기

기초이론/DataBase

UNION 과 UNION ALL 이란

UNION 이란

  • 여러 쿼리문들을 합쳐서 하나의 쿼리문으로 만들어주는 방법이다.
  • 중복된 값을 제거하고 보여준다.
  • 중복된 값을 제거하는 연산이 추가로 수행되기 때문에 UNION ALL보다 속도가 느리다.

 

UNION ALL 이란

  • UNION과 동일하게 여러 쿼리문들을 합쳐서 하나의 쿼리문으로 만들어주는 방법이다.
  • 중복된 값을 모두 보여준다.

 

사용형태

  • 컬럼명이 동일해야 한다. (같지 않을 경우 AS 를 이용해서 동일하게 맞춰줘야 한다.)
  • 컬럼별로 데이터 타입이 동일해야 한다.
  • 출력할 컬럼의 개수가 동일해야 한다.
  • 출력할 컬럼명을 차례로 적고, 알리어스(AS) 를 통해 컬럼명을 동일하게 맞춰준다.
SELECT A AS one, B AS two 
FROM TABLE_A
UNION (또는 UNION ALL)
SELECT C AS one, D AS two 
FROM TABLE_B
;

 

JOIN과 차이점

여러 쿼리문을 결합한다는 의미에서 JOIN과 헷갈릴 수 있으니 그에 대해 설명하려고 한다.

가장 간단하게 보자면 다음과 같다.

  • JOIN : 새로운 열로 결합한다. (수평결합)
  • UNION : 새로운 행으로 결합한다. (수직결합)

아래와 같은 두 테이블이 있다고 가정해보자.

테이블 A

 

테이블 B


이 두 테이블을 JOIN을 사용하여 결합하면 다음과 같은 결과가 나온다.

JOIN 테이블

보면, 서로 다른 데이터가 새로운 '열'로 추가되어서 컬럼이 하나 더 늘어난 것을 알 수 있다.

 


다음으로는 UNION 으로 결합한 결과를 확인해보자.

UNION 테이블

두 테이블의 데이터가 새로운 '행'으로 추가되어서 순차적으로 데이터가 추가된 것을 볼 수 있다.


UNION은 실무에서 많이 쓰이지 않는다. 그렇다고 해서 아예 안쓰이는 것은 아니기 때문에 간단하게라도 알아두도록 하자.

 

 

'기초이론 > DataBase' 카테고리의 다른 글

인덱스(Index)와 힌트(Hint)  (0) 2022.07.02
엘라스틱 서치(Elasticsearch)  (0) 2022.06.26
JOIN 이란  (0) 2022.04.02