1. IN
- 조건절에서 사용하며 다수의 비교값과 비교하여 비교값 중 하나라도 같은 값이 있다면 true 이다.
SELECT * FROM emp WHERE sal IN(950, 3000, 1250);- 950, 3000, 1250 과 동일한 값은 모두 출력한다.
2. ANY
- 다수의 비교값 중 한개라도 만족하면 true 이다.
- IN 과 다른점은 비교 연산자를 사용한다는 점이다.
SELECT * FROM emp WHERE sal = ANY(950, 3000, 1250)- 이 문장은 위의 IN의 결과와 같다. "=" 연산자는 비교 값과 같은 값은 모두 출력하게 된다.
SELECT * FROM emp WHERE sal > ANY(950, 3000, 1250)- 이 문장은 ">"연산자를 사용했다. 이 쿼리의 결과는 950보다 큰 값은 모두 출력하게 된다.
SELECT * FROM emp WHERE sal < ANY(950, 3000, 1250)- 이 문장은 "<" 연산자를 사용했다. 이 쿼리의 결과는 3000보다 작은 값은 모두 출력하게 된다.
3. ALL
- 전체 값을 비교하여 모두 만족해야만 true 이다.
SELECT * FROM emp WHERE sal = ALL(950, 3000, 1250)- 결과가 하나도 없다. 하나의 값이 모든 값과 일치 할 수 없기 때문이다.
- 'sal = 950 AND sal = 3000 AND sal = 1250'
SELECT * FROM emp WHERE sal > ALL(950, 3000, 1250)
- 3000보다 큰 값만 표시된다. 'sal > 950 AND sal > 3000 AND sal > 1250' 과 동일하다.
SELECT * FROM emp WHERE sal < ALL(950, 3000, 1250)- 950보다 작은 값만 표시된다. 'sal < 950 AND sal < 3000 AND sal < 1250' 과 동일하다.
%
'Oracle > PL/SQL' 카테고리의 다른 글
[SQL] Null 주의 사항 (0) | 2011.10.07 |
---|---|
[SQL] ALTER TABLE (0) | 2011.09.27 |
Oracle date format (2) | 2011.05.02 |
oracle에 date type 으로 넣고 싶은 날짜+시간을 java에서 넣기. (0) | 2011.05.02 |
DML 을 할 수 있는 FUNCTION 생성하기. (0) | 2010.10.09 |