IN, ANY(SOME), ALL, EXIST
실습/데이터베이스 2010. 11. 2. 16:42어떤 질의들은 DB에서 어떤 값들을 검색한 후에 비교 조건으로 이용된다.
이런 질의들은 중첩 질의를 이용해 표현 할 수 있는데 중첩 질의의 결과는 한개의 스칼라값, 한개의 애트리뷰트로 이루어진 릴레이션, 또는 여러개의 애트리뷰트로 이루어진 릴레이션으로 반환 될 수 있다.
- 단일 값인 경우
스칼라 값으로 취급하여 연산가능
- 중첩 질의 반환 값이 한개의 애트리뷰트로 이루어진 릴레이션인 경우
IN, ANY(SOME), ALL, EXISTS
IN 한 애트리뷰트가 값들의 집합에 '속하는'가?
value-1 [NOT] IN (subquery-1) => value-1은 subquery01에 있는 값인가 |
ANY(SOME) 어떤(적어도 하나) 값에 대한 비교
value-1 { = | > | < | >= | <= | <> } { SOME | ANY } (subquery-1) => value-1 은 subquery-1 의 어떤(적어도 하나의) 값과 같은가, 또는 값보다 큰가. |
ALL 모든 값에 대한 비교
value-1 { = | > | < | >= | <= | <> } { ALL } (subquery-1) => value-1 은 subquery-1 의 모든 값과 같은가, 값보다 큰가.. |
EXISTS 내부질의(subquery)의 값이 어떤 것이든 내부질의가 결과값만 반환하면(행만존재하면) 참
[NOT] EXISTS (subquery-1) => subquery-1의 결과 값이 존재하는가 |
- 반환 값이 여러 애트리 뷰트로 이루어진 릴레이션이 경우
EXISTS
참고
비교연산자( = , <>, <=, <, >=, >) 는 ANY, ALL와 결합해 사용할 수 있다. - ANY= -> IN , <>ALL -> NOT IN |
'실습 > 데이터베이스' 카테고리의 다른 글
review/preview (0) | 2010.11.16 |
---|---|
Oracle 설정 추가 (0) | 2010.11.07 |
Recyclebin (삭제된 table 복구) (0) | 2010.10.04 |
Table 목록보기, attribute 보기 (0) | 2010.10.04 |
릴레이션 정의에 사용되는 자주 쓰이는 데이터 타입 (0) | 2010.10.04 |