30.12.2013 Aufrufe

Skript - Praktische Informatik / Datenbanken - Universität Kassel

Skript - Praktische Informatik / Datenbanken - Universität Kassel

Skript - Praktische Informatik / Datenbanken - Universität Kassel

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Kapitel 7 – XQuery 147<br />

Zunächst aber ein einfaches Beispiel, etwa die Titel der Bücher, die weniger<br />

als $60 kosten.<br />

for $b in fn:doc("bib.xml")//book<br />

where $b/price < 60.00<br />

return $b/title<br />

Nur ein Buch erfüllt dieses Kriterium 1 .<br />

Data on the Web<br />

Geringfügig aufwendiger eine Abfrage nach Büchern mit mindestens<br />

zwei Autoren.<br />

for $b in fn:doc("bib.xml")//book<br />

let $c := $b/author<br />

where fn:count($c) > 1<br />

return $b/title<br />

Die Ausgabe ist der selbe Buchtitel wie oben.<br />

In where-Klauseln kann auch eine existentielle („es existiert ein“) oder<br />

universelle („für alle“) Quantifizierung mittels einer Variable nach some<br />

und every vorgenommern werden. Der gesamte Ausdruck wird dann zu<br />

wahr ausgewertet, falls eine bzw. alle Belegungen der Variablen wahr<br />

ergeben.<br />

for $b in fn:doc("bib.xml")//book<br />

where some $a in $b/author satisfies<br />

($a/last="Stevens" and $a/first="W.")<br />

return $b/title<br />

Hier geht es um Buchtitel mit mindestens einem Autor, der W. Stevens<br />

heißt.<br />

TCP/IP Illustrated,<br />

Advanced Programming in the UNIX Environment<br />

Suchen wir nach Titeln von Büchern, deren Autoren alle W. Stevens heißen,<br />

geht das mit<br />

1. wobei wir gegenüber dem Tutorial von Robie nachhelfen mußten. Dort waren alle<br />

Preise über $60, die Abfrage forderte < 50.00, trotzdem erschien der Titel!

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!