Du bad om några verkliga exempel. Här är en falsk sådan. Låt oss säga att du har ett ungdomsprogram eller liknande, och ett av kraven är att barnen bara delar rum med någon av samma kön. Du har ett nullbart M/F-fält i din databas - nullbart eftersom ditt dataflöde är ofullständigt (du jagar fortfarande en del av datan). Din rumsmatchningskod bör definitivt inte matcha elever där t1.Gender<=>t2 .Kön, eftersom det kan sluta matcha två barn av okänt kön, som kan vara av motsatt kön. Istället matchar du där de är lika och inte båda null.
Det är bara ett exempel. Jag erkänner att beteendet hos NULL
och =
operatören har orsakat mycket förvirring under åren, men i slutändan ligger felet förmodligen i mängden av online MySQL-handledningar som inte nämner hur NULL
interagerar med operatörer, inte heller om existensen av