Giả sử tôi có một bảng có cột lấy giá trị từ 1 đến 10. Tôi cần phải chọn các cột có tất cả các giá trị ngoại trừ 9 và 10. Sẽ có sự khác biệt (hiệu suất khôn ngoan) khi Tôi sử dụng truy vấn này:SQL - IN so với NOT IN
SELECT * FROM tbl WHERE col NOT IN (9, 10)
và cái này?
SELECT * FROM tbl WHERE col IN (1, 2, 3, 4, 5, 6, 7, 8)
'GIỮA 1 VÀ 8' có thể thích hợp hơn mặc dù không đáng để dành thời gian ngay cả khi xem xét vấn đề cho một bảng nhỏ như vậy. Tình hình thực tế của bạn có khác nhau không? –
xin lỗi bạn đúng. xóa. –
@Martin Smith - Tôi đã xem xét nó như là một tình huống lý thuyết, tôi sẽ không sử dụng các truy vấn đó :) – kyooryu