November 2006
Intermediate to advanced
208 pages
3h 15m
German
Beim Schreiben von SQL ist es von entscheidender Bedeutung, dass man NULL-Werte und die dreiwertige Logik versteht. Abgesehen von wenigen Ausnahmen sind die Ergebnisse aller Ausdrücke, die NULL-Werte einschließen, entweder NULL oder unbekannt, und das hat Auswirkungen auf alle Ausdrücke (Vergleichsausdrücke oder andere), die Sie schreiben.
Sie sollten NULL-Werte nicht mit Hilfe der gewöhnlichen Vergleichsoperatoren mit anderen Werten vergleichen. Die folgende Abfrage liefert z.B. nicht alle Zeilen aus der upfall-Tabelle:
SELECT u.id, u.name, u.datum FROM upfall u WHERE u.datum = 'NAD1927' OR u.datum <> 'NAD1927';
Man würde erwarten, dass jedes gegebene Datum entweder NAD1927 oder nicht NAD1927 sein müsste. Aber ...