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조건에 부합하는 경우 사용