Databases Reference
In-Depth Information
Tabelle 10.12: Ergebnis der Abfrage aus Listing 10.16
reihe
titel
band
preis
jahr
Asterix
Asterix der Gallier
1
2.80
1968
Asterix
Asterix und Kleopatra
2
2.80
1968
Asterix
Asterix als Legionär
10
3.00
null
Asterix
Die Trabantenstadt
17
3.80
1974
Asterix
Der große Graben
25
5.00
1980
Tim und Struppi
Der geheimnisvolle Stern
1
null 1972
Tim und Struppi
Tim und der Haifischsee
23
null 1973
mit or verketteten Prädikate die Lesbarkeit erheblich. In Abschnitt 5.11 haben wir
bereits im Zusammenhang mit create table -Anweisungen den in -Operator
eingesetzt, in Kapitel 14 lernen wir Verwendungsmöglichkeiten für verschachtelte
Abfragen kennen.
Sehr nützlich ist auch der Mustervergleich von Texten in Prädikaten. Wenn wir
uns daran erinnern, dass einer der Titel aus der Asterixreihe etwas mit einer Stadt
zu tun hatte, können wir ihn leicht finden (siehe Listing 10.18).
Listing 10.18: Alle Alben mit stadt im Titel
select *
from alben
where titel like '%stadt%'
Das Zeichen % repräsentiert in dem Muster '%stadt%' eine beliebige Zeichen-
kette. Dies entspricht dem Ergebnis aus Tabelle 10.13.
Tabelle 10.13: Ergebnis der Abfrage aus Listing 10.18
reihe
titel
band
preis
jahr
Asterix
Die Trabantenstadt
17
3.80
1974
Jeder Titel, der also den Text stadt enthält, gehört somit zum Ergebnis der Ab-
frage. Gelegentlich verwendet man zwar die Syntax für die Musterbeschreibung,
vergisst aber den like -Operator. Wenn das Prädikat titel='%stadt%' lau-
tet, findet das RDBMS auch nur Datensätze, in denen der Titel gleich dem Text
%stadt% ist. Mit unseren Beispieldaten ergibt sich so ein leeres Ergebnis. Der
Vergleich mit dem Muster findet nur in Verbindung mit dem Schlüsselwort like
statt. Neben dem % -Zeichen gibt es noch _ als Platzhalter für ein einzelnes, beliebi-
ges Zeichen. Wollen wir beispielsweise alle Titel finden, deren zweiter Buchstabe
ein s ist, verwenden wir das Prädikat
titel like '_s\%'
 
Search WWH ::




Custom Search