NOT IN

DB/DB study 2006. 6. 7. 19:13
2-5. DEPT 테이블에는 총 4 건의 데이터가 들어 있다.

DEPTNO DNAME LOC
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
이 때 다음 SELECT 문을 실행할 경우 몇 건의 데이터가 출력되는가?



SELECT *

FROM dept

WHERE deptno NOT IN (10, 20, NULL)



a. 0

b. 1

c. 2

d. 3

e. 4.





<해설>



이 SELECT 문을 NOT IN 대신 AND 연산자로 풀어 써 보자.



SELECT *

FROM dept

WHERE deptno != 10 AND deptno != 20 AND deptno != NULL



NULL과의 연산은 || 연산자를 제외하고는 모두 NULL로 처리되므로 deptno != NULL 의 결과는 NULL이고 이 값과의 AND 연산도 NULL이 된다. 따라서 연산의 최종 결과가 NULL이므로 WHERE 조건을 만족시키는 데이터는 하나도 없다.



정답 : (a) (<- 마우스로 정답 부분을 선택하세요)
AND