WHERE 1=1
如果您使用脚本(伪代码)编写此请求,会有什么影响:
sql = "SELECT f1,f2,f3 FROM t WHERE 1=1" ++ restOfTheClause
在哪里restOfTheClause
可以是与串联的字段名称/运算符/值的列表AND
:
restOfTheClause = [('f4','>',5), ('f5','IN(1,2,3)'), ('f10','=',1)].map(writeWherePart).join(' AND ')
编写WHERE 1=1
允许编写更简单的代码,因为您不必检查自己restOfTheClause
是否为空等。
此子句对性能有什么影响?有WHERE 1=1
和根本没有where子句有什么区别?
我从事Oracle工作已有几个月了,我发现我不得不提出,WHERE 1=1
但其他RDBMS接受了WHERE true
。作为=
运算符,在使用哑子句时oracle和其他RDBMS之间是否存在性能差异?
谢谢