DB

    [ORACLE] WHERE절 한 줄에 조건 여러 개

    개요 : 업무 수행중에 테이블조회할때 특정 컬럼에 특정 데이터를 포함하지 않는 조건과 NULL인 데이터들을 같이 조회해야되는 경우가 생겼다. 처음에는 WHERE절에 NOT IN()을 사용해 조회하였으나 COUNT()를 사용했을때 확인해본 데이터 숫자와 맞지 않았다. 그래서 AND절을 추가해 IS NULL을 조회했으나 당연하게도 나오지 않았다. ( 데이터를 조회하는데 NULL이면서 데이터가 있어야한다니 말이안되지;; ) AND 대신에 OR를 쓰면 되지않을까해서 사용해봤지만 또는이라는 뜻이기 때문에 원하지않는 데이터까지도 조회가 되었다. 해결 : ex) 실패 SELECT * FROM [테이블명] A LEFT JOIN [테이블명] B ON B.[조인컬럼] = A.[조인컬럼] WHERE [조건컬럼] = [조건값..

    IN 문을 활용한 LIKE 사용

    개요 : 테이블에서 'LIKE'와 'IN'을 사용해 다중 조건을 걸어 데이터를 조회하려고 하였으나 쿼리문이 실행되지 않음 'LIKE'만을 사용하여 쿼리문을 작성하자니 조건별로 계속 작성해야해서 쓸데없이 길어지기때문에 'IN'을 같이 이용할 수 없을까 생각했다. 아래는 실행되지 않은 쿼리문의 예시이다. EX) SELECT * FROM [테이블명] WHERE [컬럼명] LIKE IN ('[%조건%]', '[%조건%]', '[%조건%]'); 해결방법 : 'REGEXP_LIKE'를 사용하면 되는데 정규식을 사용하는? 'LIKE' 조건절이라고 생각하면 될것같다. 아래는 실행되는 쿼리문이다. SELECT * FROM [테이블명] WHERE REGEXP_LIKE( [필드명], '[조건] | [조건] | [조건]' )..