ON 1 = 1에 대해 공부하다가 자연스레 발견하게된 WHERE 1 = 1
WHERE 1 = 1
1 = 1
은 참(True)을 의미한다. WHERE 1 = 1은 WHERE 참(True)와 같다.
1
SELECT * FROM table WHERE 1 = 1 AND column = '조건';
즉, column이 ‘조건’에 해당하는 데이터를 모두(참) 조회한다 라는 뜻이다. 어떻게 보면 있으나마나 한 조건이다.
그렇다면 굳이 왜 사용하는 걸까?
WHERE절에 조건을 두 개 사용할 때 조건1과 조건2 중 조건2가 제대로 작동하는지 확인하기 위해 조건1을 잠시 주석처리 하고 싶다. 그럴 때 쿼리가 번거로워질 수 있으니 WHERE 1 = 1
을 사용하여 비교적 쉽게 주석처리하며 디버깅할 수 있다.