Semi Join: EXISTS vs IN vs JOIN+DISTINCT vs NOT EXISTS
Bốn cách viết khác nhau cho cùng câu hỏi 'có hàng khớp không' không tương đương về hiệu năng và độ đúng: EXISTS/IN có thể trở thành semi join dừng ngay khi thấy hàng khớp đầu tiên, còn JOIN+DISTINCT phải quét hết rồi khử trùng lặp; và NOT IN với cột có NULL im lặng trả về rỗng dù dữ liệu đúng.
DatabasesTrung bình2026-08-25
Tài liệu tham khảo
Mở rộng
Animation gốc là một file HTML tự chứa, có thể nhúng lại ở bất kỳ trang nào khác. Mở file gốc