SQL을 활용한 데이터 분석

집합

집합

SET 연산자의 종류

  • UNION
    • 합집합과 같은 개념
    • SELECT 리스트의 컬럼의 개수, 순서, 타입이 같아야 한다
    • SELECT 절에 나열된 모든 컬럼에 대해 두 테이블에 있는 내역 조회
    • DISTINCT 역할 -> 한 테이블 기준 동일한 데이터는 1번만 조회된다
  • UNION ALL
    • 합집합과 같은 개념
    • SELECT 리스트의 컬럼의 개수, 순서, 타입이 같아야 한다
    • UNION과 다른 점은 한 테이블에 있는 동일 데이터가 모두 조회된다
  • 합집합과 UNION/UNION ALL
    • set
  • INTERSECT
    • 교집합과 같은 개념
    • SELECT 리스트의 컬럼의 개수, 순서, 타입이 같아야 한다
  • MINUS
    • 차집합과 같은 개념
    • SELECT 리스트의 컬럼의 개수, 순서, 타입이 같아야 한다

SET 연산자의 제한 사항

  • Oracle 8i 까지는 NULL과 숫자형, 날짜형 컬럼을 SET 연산자에서 같이 사용 못한다.
  • Oracle 9i 부터 사용 가능 하다.
  • SET 연산자로 묶여지는 SELECT 절에서 BLOB, CLOB, BFILE, VARRAY 중첩 테이블 타입 컬럼 사용 불가하다.
  • UNION, INTERSECT, MINUS 를 사용할 경우, SELECT 절에서 LONG 타입 컬럼 사용 불가하다.
  • FOR UPDATE 절 사용 불가하다.
  • ORDER BY 절은 맨 마지막에 한 번만 사용 가능하다.
  • 서브쿼리 내에서는 ORDER BY 절 사용 불가하다.
  • SET 연산자로 연결될 경우, 쿼리 결과는 가장 상위 SELECT 문의 컬럼을 기준으로 데이터 타입, 컬럼명이 맞춰진다.

© 2020. All rights reserved.

SIKSIK