【发布时间】:2020-12-21 00:36:03
【问题描述】:
以下查询用于我的一个产品中。我不明白为什么提到1=1。永远都是真的。
select * from emp;
select * from emp where 1=1;
据我了解,两者都是一样的。开发人员将1=1 放在下面的查询中的意图是什么?他可以简单地将where 条件写入and 条件之一。
SELECT msi.concatenated_segments item_code,
mmt.transaction_date,
mtt.transaction_type_name,
mmt.transaction_quantity,
mcd.prior_cost,
mcd.new_cost
FROM
mtl_cst_actual_cost_details mcd,
mtl_system_items_kfv msi,
mtl_material_transactions mmt,
mtl_COST_types mtt
WHERE 1 = 1 -------------------------------------------------This I am refering
AND mcd.inventory_item_id = msi.inventory_item_id
AND mcd.organization_id = msi.organization_id
AND mcd.transaction_id = mmt.transaction_id
AND mmt.inventory_item_id = msi.inventory_item_id
AND mmt.organization_id = msi.organization_id
AND mmt.transaction_type_id = mtt.transaction_type_id
ORDER BY mcd.creation_date DESC;
【问题讨论】:
-
但是,正如 Guy 所正确观察到的那样,现在从事这一天工作的人们可能已经受制于他们过去通过 以编程方式生成 SQL 语句所看到的内容。
标签: sql oracle where-clause