본문 바로가기

Coding Test

SQL) WHERE 1 = 1 사용 이유?

 

1 = 1 사용 이유?

- 조건을 추가하는 과정에서 실수를 방지하고 유지보수를 용이하게 해주는 역할

 

- WHERE 1=1"은 일반적으로 동적 쿼리를 작성할 때 유용하게 사용.

   동적 쿼리에서는 다양한 조건절이 추가될 수 있으며, 이러한 조건절을 추가하기 쉽도록 미리 "WHERE 1=1"을 작성해 놓는 것

 

- where 1=1을 쓰는 이유는 코드작성, 쿼리 가독성, 유지보수성에 용이하기 때문에 사용

 

1. 코드 작성의 용이성

"WHERE 1=1"은 동적 쿼리에서 매우 유용합니다. 동적 쿼리에서는 다양한 조건절이 추가될 수 있으며, 
이러한 조건절을 추가하기 쉽도록 미리 "WHERE 1=1"을 작성해 놓는 것입니다. 
이렇게 하면 조건절을 추가할 때마다 "AND"를 추가하는 대신에, 
"WHERE"절에 "1=1"을 유지한 채로 "AND"나 "OR" 조건절을 추가할 수 있으므로 코드의 가독성과 유지보수성이 좋아집니다.

 

 

2. 쿼리의 가독성

"WHERE 1=1"은 쿼리의 가독성을 향상시킵니다. 
예를 들어, "WHERE a=1 AND b=2"라는 쿼리에서 b=2 조건절을 삭제하면 
"WHERE a=1 AND"와 같은 쿼리가 되어 문법 오류가 발생할 수 있습니다. 
그러나 "WHERE 1=1"을 사용하면 이러한 문제를 방지할 수 있습니다.

 

 

3. 유지보수성

"WHERE 1=1"은 쿼리를 수정할 때 실수를 방지할 수 있습니다. 
쿼리를 수정하다 보면, AND나 OR 조건절의 순서가 바뀌거나 조건절을 빠뜨리는 등의 실수가 발생할 수 있습니다. 
그러나 "WHERE 1=1"을 사용하면 쿼리를 수정할 때 이러한 실수를 방지할 수 있습니다.

 

4. 실행 계획 최적화

"WHERE 1=1"은 데이터베이스 서버에서 실행 계획 최적화를 위해 사용됩니다. 
대부분의 데이터베이스 서버는 실행 계획을 최적화할 때, 
쿼리의 WHERE절을 분석하여 인덱스를 사용할지 여부 등을 결정합니다. 
"WHERE 1=1"을 사용하면 WHERE절이 있음을 알리면서도, 
실제로는 어떤 조건도 만족하지 않으므로 실행 계획이 최적화됩니다. 
위와 같은 이유로, 
"WHERE 1=1"은 SQL 쿼리에서 자주 사용되는 구문 중 하나입니다.

 

 

 

출처: https://alisyabob.tistory.com/495 [it 공부 끄적이기:티스토리]