MINUS 연산

 

*MINUS 연산

-수학의 집합 연산에서 차집합을 의미

-MINUS 연산은 테이블 A, B에서 A 테이블에 속하지만 B 테이블에는 속하지 않는 행 집합을 결과 집합으로 반환

 

 

INTERSECT 연산

 

*사용 예

 

SQL> select name from stud_heavy

    2 intersect

    3 select name from stud_101;

 

NAME

----------

서재진 

 

 

 

INTERSECT 연산

 

*INTERSECT 연산

-수학의 집합 연산에서 교집합을 의미

-INTERSECT 연산은 두 개의 테이블에 모두 속하는 행 집합을 결과 집합으로 반환

 

 

UNION, UNION ALL 연산의 비교

 

*사용 예

-stud_heavy와 stud_101 테이블에 대해 UNION, UNION ALL 연산을 각각 수행한 결과를 출력하여라.

 

합병 불가능한 경우

 

*UNION 연산을 실행하는 두 테이블이 합병 불가능한 경우,

-두 질의의 칼럼수가 다르므로 오류 발생

 

 

SQL> SELECT   studno, name

       2 FROM     stud_heavy

       3 UNION

       4 SELECT  studno, name, grade

       5 FROM     stud_101;

SELECT   studno, name

*

1행에 오류:

ORA-01789:질의의 결과 열의 수가 틀립니다.​

 

 

 

집합 연산을 위한 테이블 생성

 

*사용 예

-1학년 이면서 몸무게가 70kg 이상인 학생의 집합(stud_heavy)과 1학년 이면서 101번 학과에 소속된 학생(stud_101)으로 구성된 두 개의 테이블 생성

 

UNION, UNION ALL 연산

 

*UNION, UNION ALL 연산

-UNION 연산은 수학의 집합 연산에서 합집합을 의미

-UNION 연산은 두 개의 테이블에 속하면서 중복되는 행을 제외한 행 집합을 결과 집합으로 반환

-UNION ALL 연산은 중복되는 행을 제외하지 않고 모두 출력

 

집합 연산자

 

*집합 연산자

-테이블을 구성하는 행집합에 대해 테이블의 부분 집합을 결과로 반환하는 연산자

-합병 가능 : 집합 연산의 대상이 되는 두 테이블의 칼럼수가 같고, 대응되는 칼럼끼리 데이터 타입이 동일

 

 

*사용법

SELECT            명령문 1

[UNION   |   UNION ALL   |   INTERSECT   |   MINUS]

SELECT            명령문 2;

 

 

[표5.5.] 집합 연산자 종류

 

 

+ Recent posts