Nó không phải là một lỗi. Vì bạn không đủ điều kiện cho cột, Oracle hiểu nó là giá trị cột hiện tại từ bảng A - nằm trong phạm vi (xem một truy vấn phụ tương ứng). Vì vậy, truy vấn con chỉ tạo ra nhiều bản sao của giá trị cột đó cũng như các hàng trong bảng B.
in
điều kiện sẽ trở thành đúng hoặc sai dựa trên điều đó. Nó sẽ luôn là false khi bảng B trống. Nó cũng sẽ sai trong trường hợp Col_A
là null. Nhưng trong tất cả các trường hợp khác, nó sẽ đúng. Vì vậy, bạn sẽ nhận được càng nhiều kết quả cũng như các hàng trong bảng A có giá trị khác rỗng trong Col_A
, ngoại trừ khi bảng B trống, trong trường hợp đó bạn không nhận được kết quả nào.