phpbar.de logo

Mailinglisten-Archive

NULL / NOT NULL

NULL / NOT NULL

Sebastian Mendel lists at sebastianmendel.de
Mon Jun 27 18:23:23 CEST 2005


Sandor Wonschik wrote:

> Vielleicht hilft Euch das ja: ;-)
> 
> select if('' is not null, "'' is not null", "'' is null") as SoIsses
> => '' is not null

es ging aber um die Bedeutung von NOT NULL als Feld-Eigenschaft und
nicht als 'Funktion'/Vergleich


> select if(null is not null, 'null is not null', 'null is null') as SoIsses
> => null is null
> 
> 
> Wo NOT NULL aber auch Sinn macht: 
> Wenn man mit LEFT JOIN arbeitet und feststellen will, ob ein passender Eintrag in der zweiten Tabelle drin ist, ist die Feld-Eigenschaft NOT NULL nützlich.
> 
> select count(*)
> from table1
> left join table2 on table1.field1 = table2.field2
> where table2.field2 is null
> 
> Mal angenommen, table2.field2 wäre ein Feld, das NULL-Einträge erlaubt (und es wäre auch tatsächlich Einträge mit NULL drin), könnte man mit dieser Query nicht herausfinden, welche Einträge in der zweiten Tabelle fehlen.

natürlich, weil man ja eigentlich auch auf das Feld überprüft mit
welchem man die Tabellen verknüpft hat (um festzustellen ob es passende
 Einträge in der anderen Tabelle gibt) - denn schließlich ist da in
aller Regel auch ein Index drauf - wegen der Verknüpfung - und da geht
dann dort auch die Überprüfung am schnellsten!



-- 
Sebastian Mendel

www.sebastianmendel.de
www.sf.net/projects/phpdatetime | www.sf.net/projects/phptimesheet

-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive