create table test(c1 varchar(10), c2 varchar(10));
insert into test values('AAAAA','TTTTT');
insert into test values('','TTTTT');
insert into test values('CCCCC','TTTTT');
commit;
위와 같이 test 테이블을 만들고 아래와 같이 쿼리를 실행하면 결과가 다음과 같이 나옵니다.
SQL> select * from test where c1 not in ('AAAAA');
C1 C2
---------- ----------
CCCCC TTTTT
결과가 아래와 같이 나올것 같은데 왜 위와 같은 결과가 나오나요??
C1 C2
---------- ----------
TTTTT
CCCCC TTTTT
위와 같은 결과가 나오기 위해서
select * from test where c1 is null or c1 not in ('AAAAA');
를 실행하면 되긴 하네요..
많은 답변 부탁드립니다. 감사합니다.