뇨내

[Oracle-SQL Developer] Union 본문

Oracle/Union + Hierarchical + Modeling

[Oracle-SQL Developer] Union

삐옥 2021. 12. 13. 22:55

 

 

 

 

 

 

 


 

 

 

Union 유니온

 

1. union        : 두 테이블을 합쳤을 때 중복되는 행 자동 제거

2. union all  : 두 테이블을 합쳤을 때 중복되는 행 무시

3. intersect  : 두 테이블을 합쳤을 때 그 교집합 

4. minus       : 두 테이블을 합쳤을 때 그 차집합

 

UNION, 유니온
- 테이블을 합치는 기술
- UNION, UNION ALL, INTERSECT, MINUS

 

※주의
1. 컬럼의 개수가 일치해야 한다.
2. 컬럼의 타입이 일치해야 한다.
3. 컬럼의 도메인이 일치해야 한다. (성질)

 

 

 1. 테이블 생성 + 데이터 삽입

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
create table UnionA (
    name varchar2(15not null
);
 
create table UnionB (
    name varchar2(15not null
);
 
 
insert into UnionA values ('오리너구리');
insert into UnionA values ('고양이'); --*
insert into UnionA values ('사자');
insert into UnionA values ('나무늘보'); --*
insert into UnionA values ('닭');
 
 
insert into UnionB values ('표범');
insert into UnionB values ('코알라');
insert into UnionB values ('고양이'); --*
insert into UnionB values ('펭귄');
insert into UnionB values ('나무늘보'); --*
cs

 

 

 

 

 2. UNION, UNION ALL, INTERSECT, MINUS


2-1. union

 

1
2
3
4
-- union > 두 테이블을 합쳤을 때 중복되는 행이 자동으로 제거
select * from UnionA
union
select * from UnionB;
cs

 


2-2. union all

 

1
2
3
4
-- union all > 두 테이블을 합쳤을 때 중복되는 행이 그대로 보관
select * from UnionA
union all
select * from UnionB;
cs

 


2-3. intersect

 

1
2
3
4
-- intersect > 교집합
select * from UnionA
intersect
select * from UnionB;
cs

 


2-4. minus

 

1
2
3
4
--1)
select * from UnionA
minus
select * from UnionB;
cs

 

 

 

 
1
2
3
4
5
--2)
select * from UnionB
minus
select * from UnionA;
 
cs

 


 

1
2
3
4
5
6
7
(select * from UnionA
union all
select * from UnionB) --고양이x2, 나무늘보x2
minus
(select * from UnionA
intersect
select * from UnionB); ----고양이, 나무늘보
cs

 

 

 

 

 


 

Comments