[Oracle] 집합연산자(SET 연산자)
집합연산자(SET 연산자)
두 개의 SELECT 명령에 대한 검색결과를 이용하여 집합 결과값을 제공하는 연산자다.
UNION(합집합)
두 개의 SELECT 명령으로 검색된 행을 합한 결과를 제공한다(중복행 제외).
집합연신자를 사용할 경우 두 개의 SELECT 명령의 검색대상은 갯수와 자료형이 반드시 동일하도록 작성한다.
SELECT NAME FROM SUPER_HIRO
UNION
SELECT NAME FROM MARVEL_HIRO;
UNION ALL
두 개의 SELECT 명령으로 검색된 행을 합한 결과를 제공한다(중복행 포함).
SELECT NAME FROM SUPER_HIRO
UNION ALL
SELECT NAME FROM MARVEL_HIRO;
INTERSECT(교집합)
두 개의 SELECT 명령으로 검색된 중복행의 결과를 제공한다.
SELECT NAME FROM SUPER_HIRO
INTERSECT
SELECT NAME FROM MARVEL_HIRO;
MINUS(차집합)
첫번째 SELECT 명령의 검색 결과에서 두번째 SELECT 명령의 검색 결과를 제외한 행 제공한다.
SELECT NAME FROM SUPER_HIRO
MINUS
SELECT NAME FROM MARVEL_HIRO;
집합연산자 특징
집합연산자 사용시 두 개의 SELECT 명령에 대한 검색대상의 갯수 또는 자료형이 다른 경우 에러가 발생한다.
SELECT NAME FROM SUPER_HIRO
UNION
SELECT GRADE FROM MARVEL_HIRO;
집합연산자 사용시 검색대상의 갯수가 다른 경우 컬럼값 대신 동일한 자료형의 임의값 또는 NULL를 사용하여 집합 검색 결과 제공한다.
SELECT NAME,0 FROM SUPER_HIRO
UNION
SELECT NAME,GRADE FROM MARVEL_HIRO;
집합연산자 사용시 검색대상의 자료형이 다른 경우 변환함수를 사용하여 같은 자료형으로 변경하여 집합 검색 결과를 제공한다.
SELECT NAME FROM SUPER_HIRO
UNION
SELECT TO_CHAR(GRADE,'0') FROM MARVEL_HIRO;
Author And Source
이 문제에 관하여([Oracle] 집합연산자(SET 연산자)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jcrs0907/oracle-set저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)