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