현업에서는 SQL문을 메서드로 만들어서 쓰기 때문에
WHERE 이후로 바로 AND나 OR이 와야할때가 있다
하지만 아래의 코드는 작동하지 않는다
AND문앞에 선행 조건이 없기 때문
SELECT
FROM
WHERE
AND
AND
AND
이럴 때 사용하는 것이 1=1, 1=0 이다
AND문을 작성하기 위한 방법으로 1=1자체는 아무런 의미가 없다
SELECT
FROM
WHERE 1=1 -- 1=0, 1=1 상관없다
AND
AND
AND
또한 AND문 안에서 OR조건을 작성하기 위해서 이런 작성법도 존재한다
SELECT
*
FROM
FREEBOARD
WHERE
BOARDID = 'FREE' --boardId가 free이면서
AND(1=1 --셋 중하나라도 만족하면 true를 반환
OR (BOARDNUMBER >= 1000)
OR (READCOUNT >= 100)
OR (UPCOUNT >= 10)
)
마이바티스를 사용한다면 XML파일 안에 작성하기 때문에 쓸일은 없겠지만
자바코드로 SQL문을 작성하게 되면 메서드로 SQL문이 작성되어있고
메서드에 변수만 넣어서 동적으로 SQL문을 생성하기 때문에
위 같이 WHERE 다음에 AND가 바로 오거나
AND문 안에서 여러 조건을 비교할때 바로 AND나 OR이 오게 된다
'DB > Oracle' 카테고리의 다른 글
[ORACLE] 테이블 결합 OR 조건절 없이 테이블 JOIN하는 방법 (0) | 2020.10.29 |
---|---|
[ORACLE] DECODE (0) | 2020.10.28 |
[ORACLE] CASE문 (0) | 2020.10.22 |
[ORACLE] 연산자 및 내장함수 사용시 주의 점 (0) | 2020.10.14 |
[ORACLE] 처리 순서와 테이블의 관계(전역테이블 지역테이블 ) (0) | 2020.10.14 |