在项目中经常看到这样的查询语句,‘WHERE 1=1 ’,自己不太明白,所以Baidu之,顺便Mark一下。
看了大家的介绍后,我将我的理解概括为以下两点:
1、‘WHERE 1=1 ’其实是为了拼接后续不确定的查询条件,且不用判断后续条件是否为空,这样可以保证永远有数据可以被查询出。
2、还有一种说法‘WHERE 1<>1’,此写法可创建临时表的时候只创建数据结构而不会把数据带过来。
Example:CREATE TABEL TEMP_EXAM AS SELECT * FROM EXAM E WHERE 1<>1
这样TEMP_EXAM 会拥有和表EXAM 一样的数据结构,但是数据内容却为空。