MySQL "NICHT IN" funktioniert nicht

9

Seltsames Ding passiert. Ich habe ein Problem mit meinem MySQL Community Server 5.1 installiert auf Windows NOT IN Abfrage. Wenn ich diese Abfrage mache:

%Vor%

gibt 582 Zeilen zurück

%Vor%

gibt 15 Zeilen zurück

so würde ich erwarten, dass die folgende Abfrage 582 - 15 = 567 Zeilen

zurückgeben würde %Vor%

gibt 0 Zeilen zurück

Warum gibt diese letzte Abfrage keine Zeilen zurück?

    
jeffery_the_wind 06.06.2012, 12:45
quelle

3 Antworten

16

Versuchen Sie es.

%Vor%

Oder verwenden Sie nicht existiert

%Vor%     
mr_eclair 06.06.2012, 12:49
quelle
5

Höchstwahrscheinlich haben Sie einige NULL-Werte in Ihrer "Schlüssel" -Spalte. NULL-Vergleiche geben immer null zurück, was zu false führt. Dies kann kontraintuitiv sein. Zum Beispiel

%Vor%

Liefert die Werte nicht mit SomeValue = NULL zurück. Auch wenn intuitiv NULL nicht gleich Null ist. Also, um die Frage, die Sie haben, zu beheben, sollten Sie Folgendes tun:

%Vor%     
Kibbee 06.06.2012 12:50
quelle
1
%Vor%     
Sarfraz 06.06.2012 12:49
quelle

Tags und Links