Database

PostgreSQL UNION, UNION ALL

hjkang

UNION 이란?

  • 두 개 이상의 SELECT 문 결과를 결합하며 결합 시 중복 데이터는 제거된다.
  • 두 개의 SELECT문 간의 컬럼 개수는 동일해야하고, 데이터 유형 역시 호환되어야 한다.
  • 데이터를 정렬하기 위해서는 맨 마지막 SELECT문에 ORDER BY 절을 사용해야 한다.

 

 

UNION ALL 이란?

  • 두 개 이상의 SELECT 문 결과를 결합하며 결합 시 중복된 데이터도 모두 출력한다.

 

 

예제

CREATE TABLE table1 (
    id varchar(255)
  , name    varchar(255)
  , email   varchar(255)
);

INSERT INTO table1
VALUES
    ('id1', 'a', 'a@naver.com')
  , ('id2', 'b', 'b@naver.com')
  , ('id3', 'c', 'c@naver.com')
  , ('id4', 'd', 'd@naver.com')
;

CREATE TABLE table2 (
    id varchar(255)
  , name    varchar(255)
  , email   varchar(255)
);

INSERT INTO table2
VALUES
    ('id3', 'c','c@naver.com' )
  , ('id4', 'd', 'd@naver.com' )
  , ('id5', 'e', 'e@naver.com' )
  , ('id6', 'f', 'f@naver.com' )
;

 

UNION (중복 데이터 제거)

select 
  id, name, email
from table1
union
select
  id, name, email
from table2
order by id

 

UNION ALL (중복 데이터 포함)

select 
  id, name, email
from table1
union all
select
  id, name, email
from table2
order by id

 

 


참고

- https://dog-developers.tistory.com/162 

 

'Database' 카테고리의 다른 글

PostgreSQL 배열 함수  (0) 2023.05.16
PostgreSQL 인덱스를 타지 않는 이유  (0) 2023.05.11
PostgreSQL 문자열 함수  (0) 2023.05.11
PostgreSQL 함수(Function)  (0) 2023.05.10
PostgreSQL GIN Index  (0) 2023.01.30