Bạn đã yêu cầu một số ví dụ trong thế giới thực. Giả sử bạn có một chương trình dành cho thanh thiếu niên trong khu dân cư hoặc chương trình tương tự, và một trong những yêu cầu là bọn trẻ chỉ được ở chung phòng với người cùng giới. Bạn có trường M / F có thể nullable trong cơ sở dữ liệu của mình - có thể null bởi vì nguồn cấp dữ liệu của bạn chưa hoàn chỉnh (bạn vẫn đang theo dõi một số dữ liệu). Mã đối sánh phòng của bạn chắc chắn không được khớp với sinh viên nơi t1.Gender <=> t2 .Gender, bởi vì nó có thể kết thúc việc kết hợp hai đứa trẻ không xác định giới tính, những đứa trẻ có thể có giới tính khác nhau. Thay vào đó, bạn đối sánh ở nơi chúng bằng nhau và không phải cả hai đều rỗng.
Đó chỉ là một ví dụ. Tôi thừa nhận rằng hành vi của NULL
và =
nhà điều hành đã gây ra rất nhiều nhầm lẫn trong nhiều năm, nhưng cuối cùng lỗi có lẽ nằm ở rất nhiều hướng dẫn MySQL trực tuyến không đề cập đến cách NULL
tương tác với các toán tử, cũng như sự tồn tại của <=>
nhà điều hành.