PostgreSQL 테이블 세로 결합(UNION & UNIONALL)

6266 단어 PostgreSQLPostgreSQL

Introduction

  • 여러개의 테이블을 다루다 보면 테이블을 결합해서 사용해야할 때가 있음

  • select문으로 불러온 같은 컬럼을 가진 테이블 여러개를 세로로 결합하는 경우에 사용

DATASET QUERY

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

INSERT INTO app1
VALUES
    ('U001', 'sedsf', '[email protected]'  )
  , ('U002', 'ferd', '[email protected]')
  , ('U003', 'yop', '[email protected]')
  , ('U004', 'dsf', '[email protected]');

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

INSERT INTO app2
VALUES
    ('U004', 'dsf','[email protected]' )
  , ('U003', 'yop', '[email protected]' )
  , ('U007', 'ewasf', '[email protected]' )
  , ('U008', 'ggfe', '[email protected]' );

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;

Reference

좋은 웹페이지 즐겨찾기