I've been curious. What are the differences between these respective queries:
SELECT * FROM `tablename`
SELECT * FROM `tablename` WHERE 1
SELECT * FROM `tablename` WHERE 1=1
2 and 3 are the same in MySQL, functionally 1 is also the same.
where 1
is not standard so, as others have pointed out, will not work in other dialects.
People add where 1
or where 1 = 1
so where
conditions can be easily added or removed to/from a query by adding in/commenting out some "and
..." components.
i.e.
SELECT * FROM `tablename` WHERE 1=1
--AND Column1 = 'Value1'
AND Column2 = 'Value2'