DB 이야기

디비 이야기 16. 집합연산자

김푸른초푸른 2020. 3. 8. 20:37

1. 집합산자란?

= 조인 기법 외에도 테이블에서 데이터를 조회하는 방법 / 여러 SELECT 문을 연결해서 만든다 .

[특징]

1) 첫번쨰 테이블을 기준으로 데이터가 현시된다

2) 중복된 행은 하나의 행으로 만든다(UNION ALL은 제외)

 

2. 문법 

SELECT *

  FROM 테이블명1

집합연산자

SELECT *

 FROM 테이블명2

-> 각 테이블의 칼럼 갯수가 같아야한다! 

 

3. 종류

1) 합집합 : UNION || UNION ALL

-> UNION은 두 테이블의 중복된 내용을 제외하고 표시한다

UNION ALL은 중복에 상관없이 표시한다 

주의) 각 SELECT 절의 표시해야할 컬럼 수와 데이터 타입이 같아야 한다!  

=> 하지만, 공백('' - string)이나 0(int, bigdeciamal 등)으로 표시해서 넣을 수 있다. 

장점 - 충돌이 덜 일어난다. / nvl로 부족한 부분을 원하는데로 채워넣을 수 있다. 

주의)  테이블에 중복되는 컬럼명이 없을경우 별칭.컬럼명을 주지 않아도 데이터가 현시된다.

 

2) 교집합 : INERTSET 

-> 두 테이블의 공통된 내용만 나온다 


3) 차집합 : MINUS (DIFFERECE / EXCEPT)

-> 첫 SELECT 결과에서 두번째 조회 결과를 뺀다 

즉, 첫 SELECT절의 중복된 내용만 빼고 출력된다 

 

4) 곱집합(PRODUCT) - 배수