프로그램/DB

집합 쿼리(UNION, INTERSECT, MINUS)

영혼과영혼의양식 2009. 4. 1. 15:45

 

집합 쿼리(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

 

================================================
    * 데이터베이스 정보공유 커뮤니티 oracleclub.com
    * 강좌 작성자 : 김정식 (oramaster _at_ naver.com)
  ================================================ 
※ oracleclub 강좌를 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^ 
※ oracleclub 강좌는 개인의 학습용으로만 사용 할 수 있습니다. 학원 홍보용이나 수익을 얻기 위한 용도로
    사용을 하시면 안됩니다. ^^


[출처] : http://www.oracleclub.com/lecture/1507