检查两个“选择"是否相等

2021-12-19 00:00:00 sql select oracle

有没有办法检查两个(非平凡的)选择是否等效?

Is there a way to check if two (non-trivial) select are equivalent?

最初我希望两个选择之间有形式上的等价,但答案是proving-sql-query-equivalency阻止我.

Initially I was hoping for a formally equivalence between two selects, but the answers in proving-sql-query-equivalency stop me.

对于我的实际需要,我可以检查两个选择的(实际)结果是否相同.

For my actual need I can just check if the (actual) results of two selects are the same.

推荐答案

如果您想比较查询结果,请尝试以下操作:

If you want to compare the query results try the following:

(select * from query1 MINUS select * from query2) 
UNION ALL
(select * from query2 MINUS select * from query1)

这将导致所有行仅由一个查询返回.

This will result in all rows that are returned by only one of the queries.

相关文章