가능한 중복은 :
Why would a sql query have “where 1 = 1”
Why would someone use WHERE 1=1 AND <conditions> in a SQL clause?SQL 문에서 WHERE 1 = 1을 사용하는 목적은 무엇입니까?
나는 다른 쿼리 예제를 많이하고 아마 모든 SQL 엔진에가는 것을 보았다.
조건이 정의되지 않은 쿼리가있는 경우 사람들 (특히 ORM 프레임 워크)은 종종 always-true 조건 인 WHERE 1 = 1
또는 그와 비슷한 것을 추가합니다.
그래서 대신
SELECT id, name FROM users;
들이
이SELECT id, name FROM users WHERE 1 = 1;
난 당신이 조건을 추가하는 경우 생각할 수있는 유일한 가능한 이유 동적으로 초기 AND
을 제거에 대해 걱정할 필요가 없습니다 사용하지만 여전히 매우 자주이 1 = 1
조건은 쿼리에 실제 조건이 있으면 제거됩니다. (프레임 워크에 의해 생성) CakePHP의 발
실제 예 :
(NO 조건)
SELECT `User`.`id`, `User`.`login`
FROM `users` AS `User`
WHERE `User`.`login` = '[email protected]'
LIMIT 1;
(조건)
SELECT `User`.`id`, `User`.`login`
FROM `users` AS `User` WHERE 1 = 1
ORDER BY `User`.`id` ASC;
여분 조건 것을 추가에 대한 이유가 있는가?
다른 사람들과 마찬가지로 http://stackoverflow.com/questions/517107/why-would-a-sql-query-have-where-1-1에 속합니다. –