SET, MULTISET, LIST(SEQUENCE) 타입에 대해 합집합, 차집합, 교집합을 구하기 위해서 각각 +, -, * 연산자를 사용할 수 있다.
다음 표에 연산자에 대한 용법이 요약되어 있다.
컬렉션 피연산자 |
집합 산술 연산자 |
컬렉션 피연산자 |
결과 컬렉션 타입 |
---|---|---|---|
SET |
+ |
SET |
SET |
SET |
+ |
MULTISET |
MULTISET |
MULTISET |
+ |
SET |
MULTISET |
LIST (SEQUENCE) |
+ |
LIST (SEQUENCE) |
LIST (SEQUENCE) |
LIST (SEQUENCE) |
+ |
SET |
MULTISET |
LIST (SEQUENCE) |
- |
SET |
MULTISET |
컬렉션 타입에 대한 산술 연산은 다음과 같은 데이터 타입 변환 규칙을 따른다.
컬렉션 값을 변수에 할당하기 위해서는 외부 질의가 하나의 행만을 반환해야 한다.
다음은 컬렉션 값을 변수에 할당하는 방법을 나타내는 예제이다. 다음과 같이 외부 질의는 하나의 행만을 반환해야 한다.
SELECT SET(SELECT name
FROM people
WHERE ssn in {'1234',
'5678'})
TO :"names"
FROM TABLE people;