02.Oracle/DataBase2012. 3. 16. 11:29
반응형

집합 쿼리(UNION, INTERSECT, MINUS)

집합 연산자를 사용시 집합을 구성할 컬럼의 데이터 타입이 동일해야 한다.

  • - UNION : 합집합
  • - UNION ALL : 중복 데이터를 다 포함하는 합집합
  • - INTERSECT : 교집합
  • - MINUS : 차집합

UNION

UNION은 두 테이블의 결합을 나타내며, 결합시키는 두 테이블의 중복되지 않은 값들을 반환 한다.

 
SQL> SELECT deptno FROM emp
     UNION
     SELECT deptno FROM dept;
 
    DEPTNO
----------
        10
        20
        30
        40
    

UNION ALL

UNION과 같으나 두 테이블의 중복되는 값 까지 반환 한다.

 
SQL> SELECT deptno FROM emp
     UNION ALL
     SELECT deptno FROM dept;
 
   DEPTNO
---------
       20
       30
       30
       20
       30
       30
       10
       20
       10
       30
    

INTERSECT

INTERSECT는 두 행의 집합중 공통된 행을 반환 한다.

 
SQL> SELECT deptno FROM emp
     INTERSECT
     SELECT deptno FROM dept;
    
    DEPTNO
----------
        10
        20
        30
    

MINUS

MINUS는 첫 번째 SELECT문에 의해 반환되는 행 중에서 두 번째 SELECT문에 의해 반환되는 행에 존재하지 않는 행들을 반환 한다.

 
SQL> SELECT deptno FROM dept
     MINUS
     SELECT deptno FROM emp;
 
    DEPTNO
----------
        40
    

문서에 대하여

  • - 작성자 : 김정식 (oramaster _at_ naver.com)
  • - 작성일 : 2002년 08월 30일
  • - 강좌 URL : http://www.oracleclub.com/lecture/1507
  • - 이 문서를 다른 블로그나 홈페이지에 게재하실 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
  • - 오라클클럽의 모든 강좌는 크리에이티브 커먼즈의 저작자표시-비영리-동일조건변경허락(BY-NC-SA) 라이선스에 따라 자유롭게 사용할 수 있습니다.
Posted by 1010