본문 바로가기
스터디/Oracle

[Oracle] 집합연산자 (SET) - INTERSECT, MINUS, UNION

by 홍장 2021. 4. 18.

SET 연산자는 마지막에 실행

SET 연산자가 포함하는 질의를 복합 질의라고 함

SET 연산자는 서브쿼리에서도 사용 됨

( ) 가 없을 경우, SQL문장에서 순선대로 실행, 명시적 표현을 위해 ( ) 사용 권함

조회하는 테이블의 SELECT 컬럼수가 맞아야 함

- 컬럼수가 맞추기 어려운경우, 컬렴에 NULL 을 추가

- 칼럼 1, 칼럼 2, 칼럼 3 = NULL, 칼럼 1, 칼럼 2

ORDER BY 절에서 사용되는 칼럼은 첫번째 SELECT 목록에 있어야 함

 

조회 테이블 기본정보 조회
-- 테이블 조회
Select D.Deptno D, E.Deptno E
From Dept D Full Join Emp E
On D.Deptno = E.Deptno
Group By D.Deptno, E.Deptno
Order By D.Deptno;

INTERSECT 교집합

 

SELECT deptno FROM dept
INTERSECT
SELECT deptno FROM emp;

MINUS 차집합
SELECT deptno FROM dept
MINUS
SELECT deptno FROM emp;

 

UNION 합집합 - 중복값 제거 기본, UNION ALL - 중복값 제거 없이 전체
SELECT deptno d FROM dept
UNION
SELECT deptno e FROM emp;