where 1=1
where 1=1 은 항상 참인 조건
사용하는 이유는?
- 편의성을 위해서
- where 절은 고정적으로 넣어두고, 상황에 따라 and 절만을 추가하기 위해
의미없는 조건절(항상 참인)을 맨 앞에 넣어주는 것.
예를 들어,
성별, 나이, 국적으로 사용자를 검색해야 한다면.
아래와 같은 여러가지 케이스가 나온다.
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 + "" ; |
이 때, where 1=1을 쿼리에 추가하면
조건문이 한결 간결해진다.
String sql = "select * from 사용자 where 1=1" ; if(조건) sql = sql + " and 성별='남성' " ; if(조건) sql = sql + " and 나이='20살' " ; if(조건) sql = sql + " and 국적='한국' " ; [출처] [Oracle] where 1=1|작성자 치치포포 |
출처 : http://blog.naver.com/winter6120/220256057301