Какова цель использования WHERE 1 = 1 в операторах SQL? [Дубликат]

Possible Duplicates:
Why would a sql query have “where 1 = 1”
Why would someone use WHERE 1=1 AND <conditions> in a SQL clause?

Я видел это много в разных примерах запросов, и это относится, вероятно, ко всем механизмам SQL.

Если есть запрос, для которого не определены условия, люди (и особенно платформы ORM) часто добавляют условие «всегда истинно»WHERE 1 = 1 или что-то типа того.

Так что вместо

SELECT id, name FROM users;

они используют

SELECT id, name FROM users WHERE 1 = 1;

Единственная возможная причина, о которой я мог подумать, если вы добавляете условия динамически, вам не нужно беспокоиться об удалении начальныхAND но все же довольно часто это1 = 1 условие удаляется, если в запросе есть фактическое условие.

Фактический пример из CakePHP (генерируется фреймворком):

(без условий)

SELECT `User`.`id`, `User`.`login`
FROM `users` AS `User` WHERE 1 = 1 
ORDER BY `User`.`id` ASC;

(с условием)

SELECT `User`.`id`, `User`.`login`
FROM `users` AS `User` 
WHERE `User`.`login` = '[email protected]'
LIMIT 1;

Есть ли причина для добавления этого дополнительного условия?

Ответы на вопрос(6)

Ваш ответ на вопрос