Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 정처기 합격
- HTML
- 어노테이션
- 스프링
- 정보처리기사 합격
- Class
- jqgrid 개념
- Where
- SQL
- ModelAndView
- JQuery
- java
- extends
- Model
- MariaDB
- 자바
- ModelMap
- ResponseBody
- Javascript
- 트랜잭션
- jqGrid
- JVM Heap
- 개발자 이직
- mysql
- spring
- 제이큐그리드
- HTTP
- View
- 정보처리기사 필기
- implements
Archives
- Today
- Total
크리스의 개발일기
[SQL] WHERE절 1=1, 1=0 의미 본문
1. AND 구문에서는 WHERE 1 = 1
만약에 'WHERE 1=1'이 없다면 if 조건절 안에 WHERE를 넣어야 할지 AND를 넣어야할지 혼란스럽다.
그러나 'WHERE 1 = 1'을 사용하면 아래 조건절에 AND를 넣어주면된다
SELECT *
FROM skybar
WHERE 1 = 1
#if(!$room.equals(''))
AND room = '$room'
#end
#if(!$alco.equals(''))
AND alco = '$alco'
#end
왜 WHERE 1=1??
① 쿼리 디버깅 시, 주석처리가 편하다.
아래와 같은 쿼리가 있다고 가정하자
위와 같은 커리문에서 잠시 CUSTOMERID = '3'에 주석 처리할때
위와 같은 경우처럼 두번의 주석을 사용해야하는 번거로움이 발생한다.
그러나 WHERE 1=1을 이용하여 보다 편리하게 쿼리 작성이 가능한다
② 동적쿼리에서 특정상황마다 WHERE절을 다르게 작성해줘야 할때 편리하다.
query1 = "SELECT * FROM CUSTOMER "
if(!cusotmerID.equals("") {
query2 = "WHERE CUSTOMERID = '" + customerID + "'"
}
if(!companyName.equals("") {
if(!customerId.equals("") {
query3 = "AND"
} else {
query3 = "WHERE"
}
query4 = "COMPANAYNAME = '" + companayname + "'"
}
위의 커리를 보다 간단하게 쓸수있다.
query1 = "SELECT * FROM CUSTOMER WHERE 1=1 "
if(!cusotmerID.equals("") {
query2 = "AND CUSTOMERID = '" + customerID + "'"
}
if(!companyName.equals("") {
query2 = "AND COMPANYNAME = '" + companyName + "'"
}
2. OR 구문에서는 WHERE 1 = 0을 사용하자.
위 1번과는 달리 OR 구문에서는 WHERE 1 = 0을 사용해야 합니다.
결과값이 아무것도 없는 상태에서 OR 구문으로 결과를 하나씩 하나씩 추가해 나가야 하니까요.
SELECT *
FROM NAME_LIST
WHERE 1 = 0
#if(!$name.equals(''))
OR NAME = '$name'
#end
#if(!$age.equals(''))
OR AGE = '$age'
#end
출처 :
'Database > SQL' 카테고리의 다른 글
[SQL] where 조건(AND, OR, NOT, LIKE) (0) | 2020.11.10 |
---|---|
[SQL] 더미 데이터(Dummy data)란 무엇인가? (+프로시저 추가) (0) | 2020.11.09 |
[SQL] 카테시안 곱(Cartesian Product)이란? (2) | 2020.11.09 |
[SQL]GROUP BY절, HAVING절 (0) | 2020.11.09 |
[SQL] 그룹 함수이란? (0) | 2020.11.09 |
Comments