조건의 반대개념 쿼리 문의 0 4 1,001

by 패대기 [SQL Query] [2019.09.18 15:03:18]


예를 들어 아래 1) 조건이 있을때 해당쿼리의 반대쿼리는 어떻게 만들죠??

1) AND col1 IS NULL
    OR (col2 = '1' AND col2 IS NULL)
    OR (col2 = '3' AND (col4 IS NULL or col5 = 'g'))

=> 

    AND col1 IS NOT NULL
    AND (col2 != '1' OR col2 IS NOT NULL)
    AND (col2 != '3' OR (col4 IS NOT NULL AND col5 != 'g'))

이런식으로 말고 간단히 안되나요?

읽어주셔서 감사합니다.

by DarkBee [2019.09.18 15:11:51]

NOT  ( condition )


by 패대기 [2019.09.18 15:52:58]

감사합니다. 좋은 팁알았습니다.


by 마농 [2019.09.18 15:44:40]

단순하게 보면 전체 조건에 괄호로 묶어 NOT 을 붙여주면 되는데.
원본 조건이 AND 와 OR 가 섞여 있는 조건인데요.
이 조건이 괄호 부분이 좀 모호하네요.
맨 앞에 AND 가 없었다면? 이게 전체 조건이려니 하겠지만
맨 앞에 AND 가 있음으로 인해 전체 조건중 일부만 발췌했을 가능성이 있네요.
AND 와 OR 가 공존하는 쿼리는 항상 괄호에 유의해야 합니다.
이 상태로는 NOT 을 붙이기가 좀 모호한 면이 있어 보입니다.

원본 조건에 괄호가 누락된게 아닌지? 의심됩니다.
- 현재 AND 1 OR 2 OR 3 형태인데?
- 혹시 AND (1 OR 2 OR 3) 형태여야 하는데 괄호가 누락된게 아닌지?

두번째 줄 조건도 이상하네요?
(col2 = '1' AND col2 IS NULL)
절대로 참일 수 없는 조건이네요?


by 패대기 [2019.09.18 15:53:14]

감사합니다. 좀더 확인하고 처리해야 겠습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입