ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 오라클 UNION, INTERSECT, MINUS
    SQL 2019. 9. 29. 18:02
    반응형

    1. UNION( 중복 제거 합집합 ), UNION ALL ( 중복 포함 합집합 )

    UNION은 합집합을 의미 한다.

    2개 이상의 테이블 조회 결과중 중복을 제외 하고 모두 출력 된다.

    예제를 통해 이해를 돕도록 하겠다.

    SELECT CLASS FROM SCHOOL_CLASS WHERE CREDIT > 10;

    [결과]

    A
    B
    SELECT CLASS FROM SCHOOL_CLASS WHERE CREDIT < 30;

    [결과]

    B
    C

    각각의 쿼리 실행의 결과가 (A,B), (B,C)입니다.

    이것을 UNION을 이용해서 중복된 값을 제거 하고 조회 되도록 해보겠다.

    SELECT CLASS FROM SCHOOL_CLASS WHERE CREDIT > 10
    UNION
    SELECT CLASS FROM SCHOOL_CLASS WHERE CREDIT < 30;

    [결과]

    A
    B
    C


    중복된 값을 제거 하지 않고 모두 표시 하고 싶을 때는 UNION ALL을 사용 한다.

    SELECT CLASS FROM SCHOOL_CLASS WHERE CREDIT > 10
    UNION ALL
    SELECT CLASS FROM SCHOOL_CLASS WHERE CREDIT < 30;

    [결과]

    A
    B
    B
    C

    UNION ALL을 사용하는 방법은 2개 이상의 데이터 조회 SELECT 구문 사이에 UNION ALL을 넣어 주면 된다.

    [SELECT를 이용한 데이터 집합1]
    UNION ALL
    [SELECT를 이용한 데이터 집합2]

     

    2. INTERSECT(교집합)

    INTERSECT은 교집합을 의미 한다.

    2개 이상의 테이블 조회 결과중 중복 값만 출력 된다.

    예제를 통해 이해를 돕도록 하겠다.

    SELECT CLASS FROM SCHOOL_CLASS WHERE CREDIT > 10;

    [결과]

    A
    B
    SELECT CLASS FROM SCHOOL_CLASS WHERE CREDIT < 30;

    [결과]

    B
    C

    각각의 쿼리 실행의 결과가 (A,B), (B,C)입니다.

    이것을 INTERSECT을 이용해서 중복된 값만 조회 되도록 해보겠다.

    SELECT CLASS FROM SCHOOL_CLASS WHERE CREDIT > 10
    INTERSECT
    SELECT CLASS FROM SCHOOL_CLASS WHERE CREDIT < 30;

    [결과]

    B

     

    3. MINUS(차집합)

    MINUS은 차집합을 의미 한다.

    2개 이상의 테이블 조회 결과중 기준이 되는 테이블에서 나머지 테이블의 중복된 값을 제거하고 출력 된다.

    예제를 통해 이해를 돕도록 하겠다.

    SELECT CLASS FROM SCHOOL_CLASS WHERE CREDIT > 10;

    [결과]

    A
    B
    SELECT CLASS FROM SCHOOL_CLASS WHERE CREDIT < 30;

    [결과]

    B
    C

    각각의 쿼리 실행의 결과가 (2,3), (3,4)입니다.

    이것을 MINUS을 이용해서 첫번째 테이블 결과중 두 번째 테이블과 중복값을 제거하고 조회 되도록 해보겠다.

    SELECT CLASS FROM SCHOOL_CLASS WHERE CREDIT > 10
    MINUS
    SELECT CLASS FROM SCHOOL_CLASS WHERE CREDIT < 30;

    [결과]

    A

     

    반응형

    댓글

Designed by Tistory.