기본 콘텐츠로 건너뛰기

181018 WHERE 1=1

WHERE 1=1


- 항상 참인 조건
- 편의성을 위해 사용

- WHERE절은 고정적으로 넣어두고 상황에 따라 AND절만 추가하기 위해
 의미는 없지만(항상 참이므로) 부여


예)
1
2
3
4
5
6
7
8
9
10
11
12
13
String sql = "select * from 사용자" ;
 if(조건)      sql = sql + " where 성별='남성' " ;
 else if(조건) sql = sql + " where 나이='20살' " ;
 else if(조건) sql = sql + " where 국적='한국' " ;
 else if(조건) sql = sql + " where 성별='남성' and 나이='20살' " ;
 else if(조건) sql = sql + " where 성별='남성' and 국적='한국' " ;
 else if(조건) sql = sql + " where 국적='한국' and 나이='20살' " ;
 else if(조건) sql = sql + " where 성별='남성' and 나이='20' and 국적='한국' " ;
 else          sql = sql + "" ;
cs

위 QUERTY를 간결하게 사용할 수 있음

1
2
3
4
5
6
7
8
String sql = "select * from 사용자 where 1=1" ;
 if(조건) sql = sql + " and 성별='남성' " ;
 if(조건) sql = sql + " and 나이='20살' " ;
 if(조건) sql = sql + " and 국적='한국' " ;
c                                       s

but, WHERE 1=1을 무턱대고 사용해서는 안됨
WHERE 1=1을 무턱대고 사용해서는 안되는 이유

※ WHERE 1=0은 OR조건에 부합하는 경우 사용