티스토리 뷰

DATABASE/MSSQL

WHERE 1 = 1 을 하는 이유

publepuble 2018. 12. 5. 13:18

where 1 = 1 을 하는 이유를 설명하기 위해  where 1 = 1 이없다는 가정하에 만약에 여러가지 조건이 앞에붙을때를 예를 들어보자

SELECT IDX
     , NAME
     , AGE
     , P_NUMBER
FROM TABLE_NAME
<if test= "height != null and height != '' ">
HEIGHT = #{height}
</if>
<if test= "weight!= '' ">
AND WEIGHT =  #{weight}
</if>
<if test= "country != '' ">
AND COUNTRY =  #{country}
</if>
<if test="flag != '' ">
AND FLAG =  #{flag}
</if>

이렇게 있을때 height의 값이 있는지 없는지 모른다 그럴경우에 다음에 오는 country를 AND를 붙여줘야할지 말지에 대한 고민의 상황과 마주하게 된다.
이럴경우를 대비해서 where 1 = 1 이라는 항상 참인 조건을 앞에 붙여주면 그다음으로 오는 조건들은  (AND 조건 = 조건) 과 같이 전부 앞에다가 AND 를 붙여주면 되기때문에 where 1 = 1 이라는 조건을 쓴다.

반응형

'DATABASE > MSSQL' 카테고리의 다른 글

MSSQL 문자열 자르기  (0) 2019.03.08
데이터 중복제거  (0) 2018.12.05
MS SQL 다국어 처리  (0) 2018.12.05
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함