집합쿼리:

집합 연산자를 사용할 때는 집합을 구성할 컬럼의 데이터 타입이 동일해야 한다.

 

UNION: 합집합 -

UNION ALL: 공통원소를 포함하는 합집합.

INTERSECT : 교집합
MINUS : 차집합

 

UNION

두 SELECT문의 결과를 결합한다. 이 때, 결합되는 두 SELECT문의 결과에 중복된 값이 있는 경우, 한 개의 값만 반환한다.

 

SELECT deptno FROM emp

UNION

SELECT deptno FROM dept;
 
    DEPTNO
----------
        10
        20
        30
        40

[코드1]

 

 

UNION ALL

UNION과 기본적으로 동일하다. 하지만 UNION ALL을 사용하는 경우 두 SELECT문의 결과에서 중복되는 값을 모두 반환한다.

 

SELECT deptno FROM emp

 

UNION ALL

SELECT deptno FROM dept;
 
   DEPTNO
---------
       20
       30
       30
       20
       30
       30
       10
       20
       10
       30

[코드2]

 

 

INTERSECT

두 집합의 교집합 즉, 중복되는 값들만을 반환한다.

 

SELECT deptno FROM emp

 

INTERSECT

SELECT deptno FROM dept;
    
    DEPTNO
----------
        10
        20
        30

[코드3]

 

 

MINUS

첫번째 SELECT문에 의해서 반환된 행들 중, 두번째 SELECT문에 의해 반환된 행에 존재하지 않는 행들을 반환한다.

 

SELECT deptno FROM dept

MINUS

SELECT deptno FROM emp;
 
    DEPTNO
----------
        40

[코드4]

 

'컴퓨터관련' 카테고리의 다른 글

mf40nt.exe aostray.exe etc...펌  (0) 2011.05.01
쿼리 종류...펌  (0) 2011.04.19
유니온 쿼리...펌  (0) 2011.04.18
쿼리 sql 테이블변수...펌  (0) 2011.04.16
exec 명령어...펌  (0) 2011.04.15

+ Recent posts