MySQL - Wo oder?

7

Ich habe eine MySQL-Anweisung, bei der ich versuche, Anweisungen je nachdem, wo sie "gehören" auszuschließen. Die Abfrage läuft durch, aber es zeigt immer noch die Zeilen, die ich ausdrücklich gesagt habe, wo es nicht gleich ist?

%Vor%     
Necro. 30.07.2013, 17:29
quelle

2 Antworten

24

Sie benötigen Klammern um Ihre OR -Anweisungen, um sie logisch zusammenzufassen.

%Vor%

sollte sein:

%Vor%

oder besser noch:

%Vor%     
John Conde 30.07.2013, 17:30
quelle
2

Wenn Zeilen mit Werten von 12 und 13 ausgeschlossen werden sollen, sollte OR durch AND .

Die Behauptung (in der ausgewählten Antwort), dass Klammern "fehlen" und hinzugefügt werden müssen, ist falsch. Das Hinzufügen von Klammern ändert die Änderung der Anweisung nicht. Der Operator AND hat bereits eine höhere Priorität als der Operator OR .)

%Vor%

Da es nicht notwendig ist, dasselbe Prädikat zweimal zu wiederholen, könnte dies wie folgt umgeschrieben werden:

%Vor%

Was auch geschrieben werden kann als:

%Vor%

Dies kann auch mit NOT IN (12,13) überschrieben werden (wie in der ausgewählten Antwort gezeigt).

    
spencer7593 30.07.2013 18:04
quelle

Tags und Links