OQL: Beispiele (1) Namen und Telefonnummern aller Kunden aus Berlin, die mindestens drei Tickets gekauft haben: select struct (name: k.name, telefon: k.telefon) from k in Kunde where k.telefon.vorwahl = "030" and count (k.tickets) >= 3 Ergebnistyp: bag<struct<name: string, telefon: struct<vorwahl: string, anschluss: string>>>
OQL: Beispiele (2) Namen und Ticketnummern aller Kunden aus Berlin, die mindestens drei Tickets gekauft haben: select struct (name: k.name, ticketNr: t.ticketNr) from k in Kunde, t in k.tickets where k.telefon.vorwahl = "030" and count (k.tickets) >= 3 Ergebnistyp: bag<struct<name: string, ticketNr: string>>
OQL: Beispiele (3) Dieselbe Anfrage, aber gruppiert nach Kunden: select struct (name: k.name, tickets: (select t.ticketNr from t in k.tickets)) from k in Kunde where k.telefon.vorwahl = "030" and count (k.tickets) >= 3 Ergebnistyp: bag<struct<name: string, tickets: bag<string>>>
OQL: Beispiele (4) Gesamtzahl aller Flüge, die Kunden aus Berlin im September 2000 gebucht haben: count (select from b in Buchung where b.datum >= 01-SEP-00 and b.datum <= 30-SEP-00 and b.ticket.inhaber.telefon.vorwahl = "030") oder stattdessen select count () from b in Buchung where b.datum >= 01-SEP-00 and b.datum <= 30-SEP-00 and b.ticket.inhaber.telefon.vorwahl = "030" Ergebnistyp: unsigned long
OQL: Beispiele (5) Liste aller Kunden, die 2000 über 100000 km geflogen sind: select k from k in Kunde where 100000 < sum (select b.flug.entfernung from t in k.tickets, b in t.buchungen where b.datum >= 01-JAN-00 and b.datum <= 31-DEC-00) Ergebnistyp: bag<Kunde>