Ptali jste se na příklady z reálného světa. Tady je jedna falešná. Řekněme, že máte pobytový program pro mládež nebo podobný, a jedním z požadavků je, aby děti sdílely pokoj pouze s někým stejného pohlaví. Ve své databázi máte pole M/F s možnou hodnotou null – s možností null, protože váš zdroj dat je neúplný (stále sháníte některá data). Váš kód pro přiřazování místností by rozhodně neměl odpovídat studentům, kde t1.Gender<=>t2 .Pohlaví, protože by to mohlo skončit spárováním dvou dětí neznámého pohlaví, které by mohly být opačného pohlaví. Místo toho se shodujete tam, kde jsou stejné, a nikoli oba null.
To je jen jeden příklad. Uznávám, že chování NULL
a =
operátor způsobil v průběhu let mnoho zmatků, ale nakonec chyba pravděpodobně spočívá v množství online výukových programů MySQL, které nezmiňují, jak NULL
interaguje s operátory, ani o existenci <=>
operátor.