NOT IN không hoạt động như mong đợi khi trong danh sách chứa NULL giá trị.
Trên thực tế, nếu bất kỳ giá trị nào là NULL , sau đó không có hàng nào được trả lại. Hãy nhớ:Trong SQL, NULL có nghĩa là giá trị "không xác định", không phải "giá trị thiếu". Vì vậy, nếu danh sách chứa bất kỳ NULL nào giá trị thì nó có thể bằng một giá trị so sánh.
Vì vậy, customerid phải là NULL trong orders bảng.
Vì lý do này, tôi thực sự khuyên bạn nên luôn sử dụng NOT EXISTS với một truy vấn con thay vì NOT IN .