Tôi đã gỡ một thủ tục lưu trữ ngày khác và tìm thấy một số điều gì đó logic như thế này:"<>" vs "NOT IN"
SELECT something
FROM someTable
WHERE idcode <> (SELECT ids FROM tmpIdTable)
này trở gì. Tôi nghĩ rằng nó trông hơi lạ với "<>" vì vậy tôi đã thay đổi nó thành "NOT IN" và sau đó mọi thứ hoạt động tốt. Tôi đã tự hỏi tại sao đây là? Đây là một proc khá cũ và tôi không thực sự chắc chắn bao lâu vấn đề đã được xung quanh, nhưng chúng tôi gần đây đã chuyển từ SQL Server 2005 sang SQL Server 2008 khi điều này đã được phát hiện. Sự khác biệt thực sự giữa "<>" và "KHÔNG IN" và có hành vi thay đổi giữa Server2005 và 2008 là gì?
'WHERE idcode NOT IN (...)' tương đương với 'WHERE idcode <> ALL (...)' –