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

Возможные дубликаты:

Почему SQL-запрос имеет «где 1 = 1 ”

Зачем кому-то использовать ГДЕ 1 = 1 И <условия> в предложении SQL? I '

Мы видели это много в различных примерах запросов, и это относится, вероятно, ко всем механизмам 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)

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