IN 조건식
IN 조건식은 조건절에 명시한 값이 포함된 건을 반환하는데 앞에서 배웠던 ANY와 비슷하다.
입력
SELECT employee_id, salary
FROM employees
WHERE salary IN (2000, 3000, 4000)
ORDER BY employee_id;
결과
EMPLOYEE_ID SALARY
------------ -----------
187 3000
192 4000
197 3000
이 쿼리는 급여가 2000, 3000, 4000에 포함되는 사원을 추출한 결과로, IN 역시 OR 조건으로 변환이 가능하며 ‘=ANY’형태로 바꿔 쓸 수 있다. 다만 ANY는 등호 연산자 뿐만 아니라 ‘>’, ‘>=’, ‘<’, ‘<=’, ‘< >’, ‘!=’ 등의 비교 연산자도 사용할 수 있다는 점이 다르다.
입력
SELECT employee_id, salary
FROM employees
WHERE salary NOT IN (2000, 3000, 4000)
ORDER BY employee_id;
결과
EMPLOYEE_ID SALARY
----------- ----------
100 24000
101 17000
102 17000
103 9000
...
104개의 행이 선택됨.
이 쿼리는 NOT IN을 사용해서 급여가 2000, 3000, 4000이 아닌 건을 조회하고 있다. 조건을 풀어 쓰면 “salary < > 2000 AND salary < > 3000 AND salary < > 4000”이며, “< >ALL”로도 바꿔 쓸 수 있다.