[SQL] WHERE 1=1?

Dev_sheep·2025년 3월 23일

쿼리가 짜여있는 것들을 보는 중에 WHERE 1=1이 있는 것을 보았다. 음 일단 유추해보기에는 무조건 참인 것을 뜻하는데 (Python에서 While True처럼) 왜 이것을 사용하는걸까?

왜 사용하는가?

  • 조건을 동적으로 붙이기 쉽게 하기 위함이다. 편의성을 위함
SELECT * FROM users
WHERE 1=1
  AND age > 20
  AND gender = 'M'
  AND status = 'active'

조건이 있든 없든 쉽게 추가하거나 뺄 수 있다.

예를 들어 안쓴다면 아래처럼

SELECT * FROM users
WHERE age > 20 AND gender = 'M' AND status = 'active'

사용하게 되니까 가독성? 측면에서는 위 예시가 더 낫다.

또한 동적 쿼리를 쓸 때도 유용하다고 하니 참고로 알아두자.

profile
기록과 공유

0개의 댓글