duplicados posibles:
Why would a sql query have “where 1 = 1”
Why would someone use WHERE 1=1 AND <conditions> in a SQL clause?¿Cuál es el propósito de usar WHERE 1 = 1 en sentencias de SQL?
he visto que una gran cantidad de diferentes ejemplos de consulta y va a probablemente todos los motores SQL.
Si hay una consulta que no tiene condiciones definidas, las personas (y especialmente los marcos ORM) a menudo agregan la condición siempre verdadera WHERE 1 = 1
o algo así.
Así que en lugar de
SELECT id, name FROM users;
que utilizar
SELECT id, name FROM users WHERE 1 = 1;
La única razón posible que podía pensar si va a agregar dinámicamente condiciones que no tienen que preocuparse por despojar a la inicial, pero AND
todavía bastante a menudo esta condición 1 = 1
se elimina si hay una condición real en la consulta.
real de CakePHP (generado por el sistema):
(sin condiciones)
SELECT `User`.`id`, `User`.`login`
FROM `users` AS `User` WHERE 1 = 1
ORDER BY `User`.`id` ASC;
(con condiciones)
SELECT `User`.`id`, `User`.`login`
FROM `users` AS `User`
WHERE `User`.`login` = '[email protected]'
LIMIT 1;
¿Hay alguna razón para añadir esa condición adicional?
Dupe de http://stackoverflow.com/questions/517107/why-would-a-sql-query-have-where-1-1 entre otros –