YSY의 데이터분석 블로그

[PostgreSQL] 테이블 세로 결합(UNION) 본문

SQL & DB/PostgreSQL

[PostgreSQL] 테이블 세로 결합(UNION)

YSY^ 2021. 1. 7. 20:25

여러개의 테이블을 다루다 보면 테이블을 결합해서 사용할 때가 있습니다.

Select문으로 불러와진 같은 칼럼을 가진 테이블 여러개를 세로로 결합하는 경우에 대해 알아보겠습니다.

 

DATASET QUERY

CREATE TABLE app1 (
    user_id varchar(255)
  , name    varchar(255)
  , email   varchar(255)
);

INSERT INTO app1
VALUES
    ('U001', 'sedsf', 'sedsf@naver.com'  )
  , ('U002', 'ferd', 'ferd@naver.com')
  , ('U003', 'yop', 'yop@naver.com')
  , ('U004', 'dsf', 'dsf@naver.com')

;

CREATE TABLE app2 (
    user_id varchar(255)
  , name    varchar(255)
  , email   varchar(255)
);

INSERT INTO app2
VALUES
    ('U004', 'dsf','dsf@naver.com' )
  , ('U003', 'yop', 'yop@naver.com' )
  , ('U007', 'ewasf', 'ewasf@naver.com' )
  , ('U008', 'ggfe', 'ggfe@naver.com' )
;

 

UNION (UNION DISTINCT)

데이터의 중복을 제외하고 세로로 병합한다.

select user_id, name, email from app1
UNION
select user_id, name, email from app2;

UNION ALL

데이터의 중복을 제외하지 않고 세로로 병합한다.

select user_id, name, email from app1
UNION ALL
select user_id, name, email from app2;

 

728x90
반응형
Comments