MYSQl where =1 , where = 1= 1 의미, 사용 이유, 적용 예제

Devel/DB_SQL|2021. 11. 30. 11:23
반응형

where =1 의 의미와 어떻게 사용이 되는 지에 대한 설명 !

 

WHERE는 조회하려는 데이터들의 조건을 거는 문법이다.

 

1 = 1은 말그대로 참, True를 의미한다.

 

주석처리가 편하다.

select * from tours
where cos_id = '3'
and companyname like 'A%'

 

주석처리 하게 되면

select * from tours
where —cos_id = '3'
—and
companyname like 'A%'

 

where 1= 1 을 이용하게 되면,

 

select *
from tours
where 1=1
and cos_id = '3'
and companyname like 'A%'

에서

select *
from tours
where 1=1
—and cos_id = '3'
and companyname like 'A%'

주석처리가 한결 간결해지고 편해진다.

 

동적쿼리에서 특정상황마다 WHERE절 조건을 다르게 줘야할때 적용할 수 있다!

query1 = "SELECT * FROM tours "
if(!cos_id.equals("") 
{ query2 = "WHERE cos_id = '" + cos_id + "'" }
if(!companyName.equals("") 
{ if(!cos_id.equals("") 
{ query3 = "AND" } 
else { query3 = "WHERE" } 
query4 = "COMPANAYNAME = '" + companayname + "'" }

 

이런경우, where =1 을 추가하여,

query1 = "SELECT * FROM tours WHERE 1=1 "
if(!cos_id.equals("") 
{ query2 = "AND cos_id = '" + cos_id + "'" } 
if(!companyName.equals("") 
{ query2 = "AND COMPANYNAME = '" + companyName + "'" }

 

단순하게 수정 가능하다.

댓글()
loading