U vroeg om enkele praktijkvoorbeelden. Hier is een valse. Laten we zeggen dat je een residentieel jeugdprogramma of iets dergelijks hebt, en een van de vereisten is dat de kinderen alleen een kamer delen met iemand van hetzelfde geslacht. Je hebt een nullable M/V-veld in je database - nullable omdat je datafeed onvolledig is (je jaagt nog steeds op een aantal gegevens). Je kamerovereenkomstcode mag zeker niet overeenkomen met studenten waar t1.Gender<=>t2 .Geslacht, omdat het zou kunnen matchen met twee kinderen van onbekend geslacht, die mogelijk van tegenovergestelde geslachten zijn. In plaats daarvan match je waar ze gelijk zijn en niet allebei nul.
Dat is maar één voorbeeld. Ik geef toe dat het gedrag van NULL
en de =
operator hebben in de loop der jaren voor veel verwarring gezorgd, maar uiteindelijk ligt de fout waarschijnlijk bij de overvloed aan online MySQL-tutorials die niet vermelden hoe NULL
interageert met operators, noch van het bestaan van de <=>
telefoniste.