バグではありません。列を修飾しなかったため、OracleはそれをテーブルAの現在の列値として解釈します。これはスコープ内にあります(相関サブクエリを参照)。したがって、サブクエリは、テーブルBの行と同じ数のその列値の複製を生成します。
in 条件はそれに基づいてtrueまたはfalseになります。テーブルBが空の場合は、常にfalseになります。 Col_Aの場合もfalseになります 無効である。しかし、他のすべての場合、それは真実です。したがって、Col_Aにnull以外の値を持つテーブルAの行と同じ数の結果が得られます。 、テーブルBが空の場合を除きます。この場合、結果は得られません。