DataBase/ORACLE_SQL

SQL 집합 연산자 (SET OPERATION )

규율 위에 자유 2023. 6. 28. 20:21
여러개의 쿼리문을 가지고 하나의 쿼리문으로 만드는 연산자

UNION   /   INTERSECT   /   UNION ALL   /   MINUS   

 

1.UNION : OR | 합집합 [두 쿼리문 수행한 결과값을 더한 후 중복되는 값은 한번만 더해지도록]
UNION사용시 각 쿼리문의 SELECT절에 작성되어 있는 컬럼 개수가 동일해야한다
-중복 데이터는 한번만 나타낸다
 
아래 작성한 쿼리문은 부서코드가 D5 / 급여가 300만원 초과인 사원 2가지로 나누어 보았다.

각각의 결과값 
쿼리문1)

 

쿼리문2)



이 두개의 쿼리문을 UNION을 통해 합쳐보도록 하겠다.

결과값 - UNION은 합집합의 의미를 가지고 있어 쿼리문1 과 쿼리문 2에서 중복된 데이터는 한번만 나타난다.

 

 

2.INTERSECT : AND | 교집합{두 쿼리문 수행한 결과값에 중복된 결과값}

3.UNION ALL : 합집합 + 교집합 (중복되는 부분이 두번 표현될 수 있다)

쿼리문

 
4.MINUS    : 선행 결과값에서 후행 결과값을 뺀 나머지 (차집합)

쿼리문

결과