Databases Reference
In-Depth Information
AND Personal2.Gehalt IS NOT NULL)
Vergleichbare Betrachtungen kann man bezüglich NULL-
Werten auch für „ <= ANY “ durchführen. Man kann daraus ab-
leiten, dass man ANY und ALL nicht einsetzt, wenn man „uner-
wartet“ auf NULL-Werte treffen könnte.
Das Schlüsselwort IN kann in WHERE -Bedingungen auch ohne
Teilanfrage genutzt werden. In diesem Fall ersetzt es eine OR -
Verknüpfung. In der Syntax steht auf der linken Seite ein Attri-
but oder ein Wert, der in der Liste, die auf der rechten Seite
steht, enthalten sein muss. Möchte man die Namen aller Tiere
herausfinden, die ein Bär oder ein Schaf sind, kann dies mit fol-
gender Anfrage geschehen.
SELECT Tier.Tname
FROM Tier
WHERE Tier.Gattung = 'Baer'
OR Tier.Gattung = 'Schaf'
Alternativ kann hier auch der IN -Operator genutzt werden.
SELECT Tier.Tname
FROM Tier
WHERE Tier.Gattung IN ('Baer','Schaf')
Die beiden letzten Anfragen führen beide zum folgenden Er-
gebnis.
TNAME
--------
Laber
Sabber
Harald
Walter
Dörthe
Statt die Menge auf der rechten Seite direkt anzugeben, kann
man diese Menge auch durch eine Anfrage berechnen. Das Er-
gebnis der Anfrage muss in diesem Fall eine einspaltige Tabelle
sein. Es wird geprüft, ob der Wert auf der linken Seite in dieser
Liste vorkommt. In der folgenden Anfrage werden die Namen
aller Tiere im Zoo gesucht, deren Gattung im Gehege Feld vor-
kommt. Dazu wird zunächst die Liste der Gattungen berechnet,
die im Gehege Feld vorkommen. Die Teilanfrage lautet:
SELECT Tier.Gattung
FROM Gehege, Tier
WHERE Gehege.Gnr=Tier.Gnr
AND Gehege.Gname='Feld'
IN als Alterna-
tive zur OR-
Verknüpfung
IN zur Überprü-
fung mit berech-
neter Liste
203
Search WWH ::




Custom Search