任何人都可以解释为什么我们在SQL select query中使用where 1=1
?
Select * from <TableName>
Where 1=1
<cfif isdefined('Something)>
AND columnName = value
</cfif>
答案 0 :(得分:8)
工具通常使用它来让它们向查询附加AND some_other_condition,而不必担心这是否是第一个谓词。
如果你写
SELECT * FROM A
...并且想要添加一个谓词,你需要追加“WHERE C1 = 1”,但是然后添加第二个谓词会追加“AND C2 = 1”
但如果你写
SELECT * FROM A WHERE 1=1
...您可以为第一个添加“AND C1 = 1”,为第二个添加“AND C2 = 1”
答案 1 :(得分:3)
我见过并使用过&#39;其中1 = 0&#39;只创建一个具有相同模式但没有任何数据的新表。但是这个逃脱了我。这里不需要where子句,并且查询将使用或不使用where子句给出相同的结果。