본문 바로가기
DataBase

[postgreSQL][집합연산자] UNION, UNION ALL

by 바까 2021. 9. 14.
반응형
--1)UNION 연산자
--두 개 이상의 SELECT문들의 결과 집합을 단일 결과 집합으로 결합하며 결합 시 중복된 데이터는 제거된다.
SELECT COLUMN_1_1, COLUMN_1_2   --두 개의 SELECT문 간 칼럼의 개수는 동일해야 하고, 
								--해당 순서의 열에는 서로 호환되는 데이터 유형이어야 한다.
FROM TABLE_NAME_1
UNION
SELECT COLUMN_2_1, COLUMN_2_2
FROM TABLE_NAME_2;
--두개의 SELECT 문에서 중복되는 데이터 값이 있다면 중복은 제거 된다.
--ORDER BY로 정렬하고자 할 경우 맨 마지막 SELECT문에 ORDER BY절을 사용한다.

select *
from sales2007_1
union
select *
from sales2007_2; 

select NAME
from sales2007_1
union
select NAME
from sales2007_2; --대소문자 구분 함.

select amount 
from sales2007_1
union
select amount 
from sales2007_2; 

select *
from sales2007_1
union
select *
from sales2007_2
order by amount DESC; --order by는 맨 마지막 SELECT문에 기재
--2)UNION ALL 연산자
--두 개 이상의 SELECT 문들의 결과 집합을 단일 결과 집합으로 결합하며 결합시 중복된 데이터도 모두 출력
--UNION은 중복 없고, UNION ALL은 중복 보여줌
--UNION ALL연산자가 더 많이 쓰임
select *
from sales2007_1;
select *
from sales2007_2; 


select *
from sales2007_1
union ALL
select *
from sales2007_2; 

select NAME
from sales2007_1
union ALL
select NAME
from sales2007_2; --대소문자 구분 함.

select amount 
from sales2007_1
union ALL
select amount 
from sales2007_2; 

select *
from sales2007_1
union ALL
select *
from sales2007_2
order by amount DESC; --order by는 맨 마지막 SELECT문에 기재
반응형

'DataBase' 카테고리의 다른 글

[postgreSQL] 서브 쿼리 종류  (0) 2021.09.14
[postgreSQL] INTERSECT, EXCEPT  (0) 2021.09.14
[postgreSQL] GROUP BY, HAVING 절  (0) 2021.09.14
[postgreSQL] NATURAL JOIN  (0) 2021.09.14
[postgreSQL] CROSS JOIN  (0) 2021.09.14

댓글