개발관련/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 을 박아놓음으로써 번거로운 작업을 최소화 하는것입니다.