데이터베이스 분류
집합 연산자
작성자 정보
- 웹관리자 작성
- 작성일
컨텐츠 정보
- 8,984 조회
- 0 추천
- 목록
본문
| ||||||||||||||||||||||||||||
1. 집합 산술 연산자 | ||||||||||||||||||||||||||||
SET, MULTISET, LIST(SEQUENCE) 타입에 대해 합집합, 차집합, 교집합을 구하기 위해서 각각 +, -, * 연산자를 사용할 수 있다. 다음 표에 연산자에 대한 용법이 요약되어 있다. | ||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||
합집합 | ||||||||||||||||||||||||||||
+ 연산자는 두 개의 컬렉션의 모든 원소들을 합쳐서 하나의 컬렉션을 생성한다. 두 LIST를 + 연산자로 합치면 결과로 입력된 두 개의 LIST를 병합(concatenation)한 LIST가 반환된다. 입력한 LIST의 개별적인 순서는 변하지 않는다. + 연산자의 피연산자 모두가 같은 컬렉션 타입이면, 결과는 입력한 컬렉션 타입이 된다. 예를 들어, 두 개의 SET을 더할 경우 그 결과로는 SET가 반환되며, SET의 성격상 중복된 원소는 제거된다. 두 개의 MULTISET의 합집합을 구하면, 원소들이 순서대로 정렬된 MULTISET가 반환된다. 예를 들어, {1, 3, 4, 3} + {3, 5, 4} 수식은 {1, 3, 3, 3, 4, 4, 5}와 같은 MULTISET가 반환된다. + 연산에 서로 다른 두 컬렉션 타입이 주어지면, 두 피연산자 모두 MULTISET로 변환된 후 계산되며 결과로 MULTISET가 반환된다. | ||||||||||||||||||||||||||||
차집합 | ||||||||||||||||||||||||||||
- 연산자는 하나의 컬렉션에 속한 원소 중에서 다른 컬렉션에 속하지 않은 원소만을 결정하는데 사용된다. 두 컬렉션간의 차집합을 계산할 때, - 연산자의 왼편에 있는 컬렉션에 속한 원소 중에서 오른쪽에 있는 컬렉션에 속하지 않은 원소들을 반환한다. 예를 들어, {1, 3, 4, 3} - {3, 5, 4} 수식은 {1, 3}과 같은 MULTISET를 반환한다. 두 피연산자 모두가 SET 타입인 경우에만 결과가 SET 타입이고, 그 외에는 MULTISET가 반환된다. | ||||||||||||||||||||||||||||
교집합 | ||||||||||||||||||||||||||||
두 컬렉션 모두에 속한 원소들을 찾기 위해서 * 연산자를 사용한다. 두 컬렉션 피연산자가 모두 SET이면, 중복이 모두 제거된 SET 타입의 컬렉션이 결과로 반환된다. 이 경우를 제외한 나머지 피연산자 조합에 대해서는 결과로 MULTISET가 반환된다. 이 경우에 두 피연산자가 모두 계산 이전에 MULTISET로 변환되고 결과 역시 MULTISET가 반환된다. 예를 들어, {1, 3, 4, 3} * {3, 5, 4} 수식은 {3, 4}와 같은 MULTISET를 반환한다. | ||||||||||||||||||||||||||||
2. 타입 변환 | ||||||||||||||||||||||||||||
컬렉션 타입에 대한 산술 연산은 다음과 같은 데이터 타입 변환 규칙을 따른다. | ||||||||||||||||||||||||||||
두 인자가 같은 타입이면, 변환은 필요 없고 인자의 타입과 같은 결과가 반환된다. | ||||||||||||||||||||||||||||
두 인자가 서로 다른 컬렉션 타입을 가지는 경우에는, 필요한 경우 두 인자 모두 MULTISET로 변환된다. 결과는 MULTISET이다. | ||||||||||||||||||||||||||||
3. 변수에 집합 데이터 값 할당 | ||||||||||||||||||||||||||||
컬렉션 값을 변수에 할당하기 위해서는 외부 질의가 하나의 행만을 반환해야 한다. | ||||||||||||||||||||||||||||
다음은 컬렉션 값을 변수에 할당하는 방법을 나타내는 예제이다. 다음과 같이 외부 질의는 하나의 행만을 반환해야 한다. | ||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||
"무단배포금지: 클라우드포털(www.linux.co.kr)의 모든 강좌는 저작권에 의해 보호되는 콘텐츠입니다. 무단으로 복제하여 배포하는 행위는 금지되어 있습니다."
관련자료
-
이전
-
다음
댓글 0
등록된 댓글이 없습니다.