Base/Database

[Database] SEP Operator(UNION,UNION ALL, INTERSECT,MINUS) & IN Operator사용법

반응형

SET Operator

 

--구문
SELECT
FROM
UNION / UNION ALL / INTERSECT / EXCEPT
SELECT
FROM

- 개념

두개 이상의 쿼리 결과를 하나로 결합시키는 연산자 

SELECT 에 들어가는 컬럼의 개수나 타입이 값이 같이야 된다.

 

UNION

결과에 대한 합집합 / 모든 중복된 행은 하나의 행으로만든다.

UNION

 

UNION ALL

결과에 대한 합집합 / 모든 중복된 행도 표시

UNION ALL

 

INTERSECT

결과에 대한 교집합

INTERSECT

 

MINUS

결과에 대한 차집합

MINUS

 

 

만약에 컬럼수를 맞추기 힘들다면 이런식으로 더미(임시)컬럼을 넣을 수도 있다.

 

 

지금 이거 같은경우에 컬럼의 갯수는 맞지만 DEPT_ID는 문자열인 반면에 SALARY는 숫자형이다. 서로 타입이 달라 오류가 나고 있다.

 

 

이걸 TO_NUMBER로 형태를 바꿔 사용한다.

 

 

이런식으로 IF문처럼 쓸수도 있다. 그 결과 값을 합쳐서 나오게 한다. 

3번째 컬럼은 리터널을 써서 WHERE 조건에 맞는 값들에 대해 컬럼에 대한 속성값으로 넣고 그 두개의 테이블을 합치는 쿼리다.  

 

 

 

IN OPERART

 

SELECT

FROM

WHERE 컬럼 IN ('')

 

IN 을 WHERE 절에 넣어줘서 두가지 경우에 대한 WHERE 절을 만들어 넣어준다.

 

이 결과 값과 밑에 유니온을 해서 나온 결과 값이 같다.

[Database] SEP Operator(UNION,UNION ALL, INTERSECT,MINUS) & IN Operator사용법

반응형