Hi Ilja,
[...]nämlich entweder ich zeige den datensatz an oder nicht. und da gibt es dann keinen raum mehr für NULL.
wobei ich genau diesen Punkt anders sehe. Die Erkenntnis, dass ein Datensatz nicht zur Ergebnismenge gehört basiert lediglich auf der Erkenntnis, dass er auf die WHERE-Klausel nicht mit TRUE geantwortet hat; das heißt aber nicht, dass der Vergleich zu false ausgewertet wurde, er kann eben auch unknown sein.
Ich fand übrigens besonders hübsch das Beispiel aus einer der verlinkten Seiten, ob man denn nun zwei Nullwerte vergleichen kann (wenn beide Leute als Geburtsdatum NULL eingetragen haben, haben sie dann am gleichen Tag Geburtstag?). Da NULL kein Wert ist, ist das Ergebnis des Vergleiches NULL=NULL eben NICHT true, sondern NULL (oder wenn man so will UNKNOWN).
MfG
Rouven
-------------------
He is entertaining both out of the car and in the car because if you tell him that a corner is almost flat then he is the guy who is going to try to take it flat even if it means shunting it the other side of it, he will come with the data and say 'hey, I may have crashed and destroyed the car, but I was flat-out'. That is an interesting quality that he has! -- Team Member on Jacques Villeneuve