서버/데이터베이스

SQL 익히기 - UNION / EXCEPT,MINUS

데브준우 2024. 11. 12. 20:07

UNION

- Union 연산은 두개의 테이블을 하나로 만드는 연산이다.

- 두 테이블의 칼럼 수, 데이터 형식 모두 일치해야 한다.

- 일치하지 않으면 에러가 난다.

- UNION 연산은 두개의 테이블을 합치면서 중복된 데이터를 제거한다.

 

- 두 테이블에서 name,age 컬럼을 합쳤다.

select name,age from test
union
select name,age from test1

 

- 나이 컬럼만 합쳤더니 중복이 제거되었다.

select age from test
union
select age from test1

 

UNION ALL

- UNION ALL 연산은 두개의 테이블을 하나로 합치는 연산이다.

- UNION 연산처럼 중복을 제거하지는 않는다.

 

- UNION ALL 을 사용했더니 중복도 전부 포함 되었다.

select age from test
union all
select age from test1

 


EXCEPT 

- 차집합을 조회하는 연산

- 앞의 SELECT문에는 있고, 뒤에 SELECT문에는 없는 집합을 조회

- PostgreSQL,SQL Server 에서 사용 가능

- Oracle은 MINUS

 

- 난 oracle로 테스트 했기 때문에 minus 를 썼다.

- 두 테이블은 중복이 하나도 없기 때문에 test 테이블만 조회한 결과와 똑같다.

select name,age from test
minus
select name,age from test1