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 |