개발관련/SQL
where 1=1 이란?
guuuuuuu
2017. 9. 6. 14:31
간혹 where 1=1 구문을 볼 수 있습니다.
예제로 보면..
1. select * from table
2. select * from table where age = 10
이렇게 두가지의 쿼리문이 있다고 가정.
여기에 ' and sex = M' 이라는 조건을 위 쿼리문에 추가한다고 했을때
1. select * from table and sex = M
2. select * from table where age = 10 and sex = M
위와 같이 됩니다. 그럼 당연히 1번 쿼리문은 문법상 오류 입니다.
이럴경우 where 1=1 을 사용합니다.
1. select * from table where 1=1 and sex = M
2. select * from table where 1=1 and age = 10 and sex = M
추가적인 and 조건이 올때 이렇게 되면 구문상 오류를 피할 수 있습니다. 즉 if문을 통해 쿼리에 where 가 있는지 판단하기 보다
이렇게 where 1=1 을 박아놓음으로써 번거로운 작업을 최소화 하는것입니다.