반응형
어찌보면 당연하지만 가끔씩 깜빡하는게 하나있다.
간단한 예시를 하나 들자면
난 t_main 테이블의 f1 필드에 test 라는 데이터를 제외한 모든 데이터를 불러오려고 한다. 아래와 같이 쿼리를 짰다.
select * from t_main where f1 != 'test';
얼핏보면 문제가 없어 보이지만 저렇게 하게되면 f1필드의 데이터가 test가 아님에도 불구하고 검색되지 않는 것들이 발견된다.
바로 f1이 null 인 데이터들은 결과로 나오지않는다... 이걸 주의해서
select * from t_main WHERE f1 IS NULL OR f1 != 'test';
or null 처리를 하거나 nvl 처리를 해주자(가급적 or 처리가 좋다)
반응형
'DB' 카테고리의 다른 글
db 테이블 명세서 작성 쿼리 (0) | 2024.10.17 |
---|---|
join 다중 업데이트 (0) | 2024.10.17 |
오라클,MySQL 특정 문자 정렬 (0) | 2024.10.17 |
쿼리 속도차이 (0) | 2024.03.22 |
EXISTS, IN 차이점 (0) | 2024.03.22 |