想象一个查询
SELECT Col_A FROM TABLE_A WHERE Col_A IN (SELECT Col_A FROM TABLE_B)
除了, TABLE_B 没有 Col_A 列;只有 TABLE_A 有它。我在 Oracle 12 中尝试过这个,我不确定它的版本可以追溯到多远,但看起来它返回了显示来自 TABLE_A 的所有 Col_A 数据的有效结果。作为开发人员,我希望这样的事情会引发错误,因为内部查询甚至不会再次访问 TABLE_A 可以这么说。有人能解释一下我们为什么或在哪里使用上述查询情况,因为我几乎觉得它应该是系统中的一个错误。