Hai chiesto alcuni esempi del mondo reale. Eccone uno spurio. Diciamo che hai un programma giovanile residenziale o simile, e uno dei requisiti è che i bambini condividano la stanza solo con qualcuno dello stesso sesso. Hai un campo M/F nullable nel tuo database - nullable perché il tuo feed di dati è incompleto (stai ancora inseguendo alcuni dei dati). Il tuo codice di corrispondenza della stanza non dovrebbe assolutamente corrispondere agli studenti in cui t1.Gender<=>t2 .Sesso, perché potrebbe finire per abbinare due bambini di sesso sconosciuto, che potrebbero essere di generi opposti. Invece, abbini dove sono uguali e non entrambi nulli.
Questo è solo un esempio. Ammetto che il comportamento di NULL
e il =
operatore hanno causato molta confusione nel corso degli anni, ma alla fine la colpa è probabilmente della pletora di tutorial MySQL online che non fanno menzione di come NULL
interagisce con gli operatori, né dell'esistenza del <=>
operatore.