Qual é o propósito de usar WHERE 1 = 1 em instruções SQL? [duplicado]

Duplicatas Possíveis:
Por que uma consulta sql teria "onde 1 = 1"
Por que alguém usaria WHERE 1 = 1 AND <conditions> em uma cláusula SQL?

Eu vi isso muito em diferentes exemplos de consulta e vai provavelmente para todos os mecanismos SQL.

Se houver uma consulta sem condições definidas, as pessoas (e especialmente as estruturas ORM) adicionarão condições sempre verdadeirasWHERE 1 = 1 ou algo assim.

Então, ao invés de

SELECT id, name FROM users;

eles usam

SELECT id, name FROM users WHERE 1 = 1;

A única razão possível que eu poderia pensar se você está adicionando condições dinamicamente você não precisa se preocupar em descascar a inicialAND mas ainda muitas vezes isso1 = 1 condição é removida se houver uma condição real na consulta.

Exemplo real do CakePHP (gerado pelo framework):

(sem condições)

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

(com condição)

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

Existe alguma razão para adicionar essa condição extra?

questionAnswers(6)

yourAnswerToTheQuestion