为什么我们在SQL中使用1 = 1选择查询

时间:2014-07-03 11:18:22

标签: sql coldfusion

任何人都可以解释为什么我们在SQL select query中使用where 1=1

Select * from <TableName>
Where 1=1
<cfif isdefined('Something)>
AND  columnName = value
</cfif>

2 个答案:

答案 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子句给出相同的结果。