180307 Oracle SET 연산자 - RYUDONGJIN/Memo_wiki GitHub Wiki

SET

  • 독립적인 여러 개의 쿼리를 하나로 묶는 역할
  • 최종결과는 하나의 쿼리가 수행된 것과 같음 => 수학의 집합과 같은 개념

UNION

  • 합집합과 같은 개념 / SELECT 절에 나열된 모든 컬럼에 대해 두 테이블에 있는 내역 조회
  • DISTINCT 역할 -> 한 테이블 기준 동일한 데이터는 1번만 조회
  • SELECT 리스트의 컬럼의 개수, 순서, 타입이 같아야 함
  • SELECT 절에서 LONG 타입 컬럼 사용불가 / FOR UPDATE절 사용불가 / ORDER BY절은 맨 마지막에서 한번만 사용가능, 서브쿼리 내에서는 사용 불가
SELECT empno, ename FROM emp
UNION
SELECT deptno, dname FROM dept;

UNION ALL

  • 합집합과 같은 개념 / SELECT 절에 나열된 모든 컬럼에 대해 두 테이블에 있는 내역 조회
  • DISTINCT 역할 -> 한 테이블 기준 동일한 데이터 모두 조회
  • SELECT 리스트의 컬럼의 개수, 순서, 타입이 같아야 함

INTERSECT

  • 교집합과 같은 개념 / SELECT 리스트의 컬럼의 개수, 순서, 타입이 같아야함

MINUS

  • 차집합과 같은 개념 / SELECT 리스트의 컬럼의 개수, 순서, 타입이 같아야함