sql - 在 Oracle 中,使用 1=1 启动 SQL 查询的 WHERE 子句有用吗?

标签 sql oracle

我正在与一个客户合作,该客户在 Oracle 中使用 1=1 启动几乎所有的 WHERE 子句。 .原谅我的无知,但这不是一个空操作吗?这种用法是否有任何负面影响?

这是一个擦洗的示例:

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

最佳答案

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

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

关于sql - 在 Oracle 中,使用 1=1 启动 SQL 查询的 WHERE 子句有用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1069373/

相关文章:

mysql - 为什么 SQL HAVING 条件中的 COUNT 没有计算出正确的值?

sql - 有没有一种聪明的方法可以将数字附加到关系数据库中的 PK 身份列而不会发生全面灾难?

java.sql.SQLException : Connection is closed

java - Oracle 数据库的 JDBC 连接错误

sql - 如何在 select 语句期间不根据条件从列中选择数据?

java - Oracle SQL Developer 加载 Java 错误

SQL 更新 - 根据表之间的匹配值自动更新行

java - SQL Developer 如何修复问题? "Status : Failure -Test failed: IO Error: The Network Adapter could not establish the connection"

sql - 多个 where 子句

python - python中的SQL输出-如何将数据框中的所有元组转换为字符串