SQL 에서 Where 1=1은 왜 쓰는걸까

sir.YOO_HWAN·2022년 4월 12일
0

SQL

목록 보기
19/30

0. 무슨뜻 ?

  1. 1=1 말그대로 참
  2. 딱히 의미를 가지는건 아님

1. 어디서 사용?

  1. 쿼리를 다시 한번 훑을때 (디버깅) 주석처리하기 편하다
WHERE  push_type_cd = '1'
       AND reg_dttm >= '2022-03-29'

대신

WHERE  1 = 1 
	   AND push_type_cd = '1'
       AND reg_dttm >= '2022-03-29'

을 쓰면

WHERE  1 = 1 
	   -- AND push_type_cd = '1'  => 여기만 주석처리 쉽게 가능 ! 
       AND reg_dttm >= '2022-03-29'

이렇게 쉽게 주석처리 가능하다 .

하나씩 주석처리하면서 쿼리 확인가능 !
LIMIT 걸어서 보는것도 잊지말자

2. 그럼 무조건 써야하나 ?

https://dejavuhyo.github.io/posts/why-avoid-using-the-dynamic-query-where-1=1/

위 링크를 보면
지양 해야 한다고 써져있다.

  1. select 할때는 큰문제가 없지만
  2. update하거나 delete 할때는 조금 문제가 된다.
  3. Null 값 때문에

3. What is the purpose of using WHERE 1=1 in SQL statements?

https://stackoverflow.com/questions/1264681/what-is-the-purpose-of-using-where-1-1-in-sql-statements

  • 더 자세하게

https://jdm.kr/blog/7


https://www.navicat.com/en/company/aboutus/blog/1812-the-purpose-of-where-1-1-in-sql-statements

  • 쿼리 실행 시간비교 -> 별 효과없음 큰차이 안남
profile
data analyst

0개의 댓글