Jaki jest cel używania WHERE 1 = 1 w instrukcjach SQL? [duplikować]

Możliwe duplikaty:
Dlaczego zapytanie sql miałoby „gdzie 1 = 1”
Dlaczego ktoś miałby używać WHERE 1 = 1 AND <conditions> w klauzuli SQL?

Widziałem to bardzo często w różnych przykładach zapytań i prawdopodobnie dotyczy to wszystkich silników SQL.

Jeśli istnieje zapytanie, które nie ma warunków, zdefiniowane osoby (a zwłaszcza struktury ORM) często dodają zawsze prawdziwy warunekWHERE 1 = 1 czy jakoś tak.

Więc zamiast

SELECT id, name FROM users;

oni używają

SELECT id, name FROM users WHERE 1 = 1;

Jedynym możliwym powodem, dla którego mógłbym pomyśleć, jeśli dodajesz warunki dynamicznie, nie musisz się martwić o pozbycie się początkowegoAND ale wciąż dość często to1 = 1 warunek jest usuwany, jeśli w zapytaniu występuje warunek rzeczywisty.

Rzeczywisty przykład z CakePHP (generowany przez framework):

(bez warunków)

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

(z warunkiem)

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

Czy jest jakiś powód, aby dodać ten dodatkowy warunek?

questionAnswers(6)

yourAnswerToTheQuestion