SQL/PHP - not null?
MB
- datenbank
0 wahsaga0 MB
0 Vinzenz Mai0 MB
Ich kriege bei einer Abfrage seltsamerweise keine Ergebnisse, wenn ich die klausel $spalte!=null einbaue. Kann mir jemand sagen, woran das liegt?
Die Abfrage sieht folgendermaßen aus:
"SELECT $spalte FROM Tabelle1,Tabelle2 WHERE Tabelle1.Id=Tabelle2.Id AND $spalte!=null"
P.S.: es liegt nicht an den Variablen oder zwei Tabellen. Ich krieg auch keine Ergebnisse mit "SELECT Spalte FROM Tabelle WHERE Spalte!=null" ;)
hi,
Ich kriege bei einer Abfrage seltsamerweise keine Ergebnisse, wenn ich die klausel $spalte!=null einbaue. Kann mir jemand sagen, woran das liegt?
http://dev.mysql.com/doc/refman/4.1/en/comparison-operators.html#operator_is-null
gruß,
wahsaga
Danke für den Hinweis, mit not($spalte IS NULL) hats letzendlich hingehauen.
Hallo
Ich kriege bei einer Abfrage seltsamerweise keine Ergebnisse, wenn ich die klausel $spalte!=null einbaue. Kann mir jemand sagen, woran das liegt?
Das Ergebnis eines Vergleiches mit NULL ist NULL - und damit weder wahr noch falsch.
"SELECT $spalte FROM Tabelle1,Tabelle2 WHERE Tabelle1.Id=Tabelle2.Id AND $spalte!=null"
SELECT
spalte
FROM Tabelle1 t1
[link:http://aktuell.de.selfhtml.org/artikel/datenbanken/joins/#inner_join@title=INNER JOIN] Tabelle2 t2
ON t1.Id = t2.Id
WHERE spalte [link:http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#operator_is-null@title=IS NOT NULL]
ist viel schöner.
IS NOT NULL ist allgemeines SQL, nicht MySQL-spezifisch und ich mag die explizite JOIN-Schreibweise, da diese für mich viel besser lesbar ist.
Freundliche Grüße
Vinzenz
INNER JOIN Tabelle2 t2
ON t1.Id = t2.Id
WHERE spalte IS NOT NULL[/code]
Was hat man von dem JOIN, mal abgesehen von der Schreibweise der Abfrage. Die Ergebnistabelle dürfte identisch sein; ist eine query mit join schneller?
mfg
MB
Hallo
Was hat man von dem JOIN, mal abgesehen von der Schreibweise der Abfrage.
wartbareren Code. Das ist zumindest meine Meinung. Kilometerlange WHERE-Klauseln, die JOIN-Bedingungen und Einschränkungen der Ergebnismenge miteinander vermengen sind genauso schlecht wartbar wie Spaghetticode.
Bei OUTER JOINs ist die explizite Schreibweise ganz klar vorzuziehen, da die implizite Schreibweise sich von DBMS zu DBMS unterscheidet.
Die Ergebnistabelle dürfte identisch sein;
Ist identisch.
ist eine query mit join schneller?
Die Zeiten sind bei MySQL vorbei. Es war in der Tat mal so.
Freundliche Grüße
Vinzenz