Databases Reference
In-Depth Information
Das Ergebnis der Anfrage ist:
GROSS KLEIN NORMAL
-------- -------- --------
LABER laber Laber
SABBER sabber Sabber
KLOPFER klopfer Klopfer
BUNNY bunny Bunny
HARALD harald Harald
WALTER walter Walter
Die Auswertung einer SQL-Anfrage läuft so, dass für alle Ta-
bellenzeilen geprüft wird, ob die WHERE -Bedingung nach
„wahr“ ausgewertet werden kann. Ist das der Fall, wird die Zei-
le ins Ergebnis übernommen. Zur Ergebnisausgabe werden
dann die in der SELECT -Zeile genannten Attribute ausgewählt.
Wichtig ist im Zusammenhang mit NULL-Werten, dass aus-
schließlich Zeilen für das Ergebnis in Frage kommen, für die
eine Auswertung der WHERE -Bedingung nach „wahr“ erfolgt.
Auswertungen nach „unbekannt“ gehen nicht in das Ergebnis
ein. Dies soll durch folgendes Beispiel verdeutlicht werden:
Es wird folgende Tabelle mit drei Einträgen konstruiert:
Umgang mit
NULL-Werten
in WHERE-
Bedingung
CREATE TABLE Person(
Pnr INTEGER,
Name VARCHAR(5),
Gehalt INTEGER,
PRIMARY KEY (Pnr)
);
INSERT INTO Person VALUES (1,'Eddy',2500);
INSERT INTO Person VALUES (2,'Egon',NULL);
INSERT INTO Person VALUES (3,'Erna',1700)
Die Anfrage nach Personen, die weniger als 2000 verdienen lau-
tet:
SELECT Person.Name
FROM Person
WHERE Person.Gehalt<2000
Das Ergebnis ist:
NAME
-----
Erna
Man sieht, dass NULL<2000 nach „unbekannt“ ausgewertet
wird und dass der zugehörige Name nicht im Ergebnis er-
scheint. Ist man in diesem Fall daran interessiert, auch die
NULL-Werte zu berücksichtigen, ist dies explizit anzugeben.
Die Anfrage lautet dann:
157
Search WWH ::




Custom Search