개키우는개발자 : )

PostgreSQL UNION 연산 , UNION ALL 연산 본문

PostgreSQL/집합 연산자와 서브쿼리

PostgreSQL UNION 연산 , UNION ALL 연산

DOGvelopers 2019. 11. 10. 11:33
반응형

UNION 이란?

두 개 이상의 SELECT 문들의 결과 집합을 단일 결과 집합으로 결합하며 결합 시 중복된 데이터는 제거된다.

 

기본 문법

 

두 개의 SELECT문 간 컬럼의 개수는 동일해야 하며 해당 순서의 열에는 서로 호환되는 데이터 유형 이어야 합니다.

두 개의 SELECT문에서 중복되는 데이터 값이 있다면 중복은 제거된다.

ORDER BY로 정렬하고자 할 경우 맨 마지막 SELECT문에 ORDER BY 절을 사용한다.

SELECT
	COLUMN_1_1,
    COLUMN_1_2
FROM
	TABLE_NAME_1
UNION
SELECT
	COLUMN_2_1,
    COLUMN_2_2
FROM
	TABLE_NAME_2;

 

실습

 

- SALES2007_1 , SALES2007_2 UNION 연산 조회

SELECT
	*
FROM
	SALES2007_1
UNION
SELECT
	*
FROM
	SALES2007_2;

* 은 모든 컬럼의 값이 중복되면 데이터는 제거가 됩니다.

실습1

 

SELECT
	NAME
FROM
	SALES2007_1
UNION
SELECT
	NAME
FROM
	SALES2007_2;

이름 중복 제거

실습2

SELECT
	AMOUNT
FROM
	SALES2007_1
UNION
SELECT
	AMOUNT
FROM
	SALES2007_2;

AMOUNT 값 중복 제거

실습3

 

- UNION 연산 시 ORDER BY 적용 하기

SELECT
	*
FROM
	SALES2007_1
UNION
SELECT
	*
FROM
	SALES2007_2
ORDER BY
	AMOUNT DESC;

ORDER BY 문은 맨 마지막 SELECT문에 작성합니다.

실습4

 

UNION ALL 이란

두 개 이상의 SELECT 문들의 결과 집합을 단일 결과 집합으로 결합하며 결합시 중복된 데이터도 모두 출력 합니다.

 

실습

 

- SALES2007_1 , SALES2007_2 UNION ALL 연산 조회

SELECT
	*
FROM
	SALES2007_1
UNION ALL
SELECT
	*
FROM
	SALES2007_2

중복되는 값이 있더라도 하나의 집합으로 결합하여 조회합니다.

실습1

SELECT
	NAME
FROM
	SALES2007_1
UNION ALL
SELECT
	NAME
FROM
	SALES2007_2

실습2

SELECT
	AMOUNT
FROM
	SALES2007_1
UNION ALL
SELECT
	AMOUNT
FROM
	SALES2007_2

실습3

ORDER BY문 적용하기

SELECT
	*
FROM
	SALES2007_1
UNION ALL
SELECT
	*
FROM
	SALES2007_2
ORDER BY AMOUNT DESC;

가장 마지막 SELECT 문에 적용 합니다.

실습4

 

반응형
Comments