小编典典

在Oracle中,以1 = 1开头SQL查询的WHERE子句有用吗?

sql

我正在与一个客户端一起使用来启动Oracle中几乎所有WHERE子句的客户端1=1。原谅我的无知,但这不是禁忌吗?这种用法是否有负面影响?

这是一个经过整理的示例:

SELECT   gpz.zname
         ,gpp.pname
FROM     table1 gpp INNER JOIN table2 gpz ON gpz.p_id = gpp.p_id
WHERE    1=1
         AND gpp.active = 1
         AND gpz.active = 1

阅读 130

收藏
2021-03-23

共1个答案

小编典典

这样做是为了简化动态SQL生成。基本上,每个条件都可以添加为,AND <condition>而无需将第一个条件视为特殊条件(其后跟WHEREnot
AND),甚至不用担心是否应该有一个WHERE子句。

因此,只需将其记录为易于使用或可以说是懒惰即可。

2021-03-23