본문 바로가기
Study/MSSQL

[쿼리문] 조건절에 WHERE 1=1, WHERE 1=0 사용하여 쿼리 간편하게 사용하기

by 오늘만 사는 여자 2021. 6. 10.
728x90
반응형

프로젝트를 진행할 때 SQL 쿼리를 작성하다보면 'WHERE 1 = 1' 이라는 것을 자주 보게 됩니다. 사실, 의미없이 'WHERE 1 = 1'이라는 구문을 사용하시는 분들이 있어서 깔끔한 걸 추구하는 저로서는 가끔 1 = 1 이라는 부분을 지워버리는데요. 이것을 잘 사용하면 조건절(WHERE)을 편리하게 사용할 수 있어서 편리합니다.

 

1. AND 구문에서는 WHERE 1 = 1 사용하자.

만약에, 'WHERE 1=1'이 없다면 if 조건절 안에 WHERE를 넣어야 할지 AND를 넣어야할지 알 수 없습니다.
'WHERE 1 = 1'을 사용하게 되면 아래 조건절에 무조건 AND를 넣으면 되는 겁니다.

 

SELECT *
	  FROM NAME_LIST
 	 WHERE 1 = 1
	 #if(!$name.equals(''))
		AND NAME = '$name'
	 #end
	 #if(!$age.equals(''))
		AND AGE = '$age'
	 #end

 

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

 

참조 : https://zzznara2.tistory.com/96

 

[쿼리문] 조건절에 WHERE 1=1, WHERE 1=0 사용하여 쿼리 간편하게 사용하기

프로젝트를 진행할 때 SQL 쿼리를 작성하다보면 'WHERE 1 = 1' 이라는 것을 자주 보게 됩니다. 사실, 의미없이 'WHERE 1 = 1'이라는 구문을 사용하시는 분들이 있어서 깔끔한 걸 추구하는 저로서는 가끔

zzznara2.tistory.com

 

728x90
반응형

댓글