Ejercicio2 consultas XQuery 1. Mostrar cada uno de los nombres de los bailes con la etiqueta
"losbailes". for $baile in doc("bailes doc("bailes.xml")/bailes/ba .xml")/bailes/baile ile return
{$baile/nombre/text()}
Tango !ac!ac!a #oc$ Merengue %alsa &asodoble
2. Mostrar los nombres de los bailes seguidos con el n'mero de (la)as
entre (ar*ntesis+ ambos dentro de la misma etiqueta "losbailes". for $baile in i n doc("bailes.xml")/bailes/baile doc("bailes.xml")/bailes/baile return
{$baile/nombre/text()} ({$baile/plazas/text()} ({$baile/pla zas/text()}) )
Tango ,2- !ac!ac!a ,1 #oc$ # oc$ ,10 Merengue Mer engue ,12 %alsa ,1- &asodoble & asodoble , . Mostrar los nombres de los bailes cuyo (recio sea mayor de -.
for $baile in doc("bailes doc("bailes.xml")/bailes/ba .xml")/bailes/baile ile where $baile/precio > ! return $baile/nombr $baile/nombre e
!ac!ac!a Merengue %alsa
&asodoble
. Mostrar los nombres de los bailes cuyo (recio sea mayor de - y la
moneda "euro". 3or 4baile in doc,"bailes.5ml"/bailes/baile 6!ere 4baile/(recio > - and 4baile/(recio/7moneda 8 "euro" return 4baile/nombre !ac!ac!a %alsa &asodoble 0. Mostrar los nombres y la 3ec!a de comien)o de los bailes que
comiencen el mes de enero ,utili)a (ara buscarlo la cadena de te5to "/1/". for $baile in doc("bailes.xml")/bailes/baile where contains($baile/comienzo "/#/") return
{$baile/profesor}
{$baile/comienzo}
<(ro3esor>#oberto 9arcia(ro3esor> 1/1/2-11 <(ro3esor>:esus ;o)ano(ro3esor> 1/1/2-11 <(ro3esor>Miriam 9utierre)(ro3esor> 1/1/2-11
. Mostrar los nombres de los (ro3esores y la sala en la que dan clase+
ord*nalos (or sala. for $baile in doc("bailes.xml")/bailes/baile order b $baile/sala return
{$baile/profesor}
{$baile/sala}
<(ro3esor>#oberto 9arcia(ro3esor> 1 <(ro3esor>Miriam 9utierre)(ro3esor> 1 <(ro3esor>;aura Mendiola(ro3esor> 1 <(ro3esor>Miriam 9utierre)(ro3esor> 1 <(ro3esor>:esus ;o)ano(ro3esor> 2 <(ro3esor>:esus ;o)ano(ro3esor>
2 =. Mostrar los nombres de los (ro3esores eliminando los re(etidos y
acom(aar cada nombre con todas las salas en la que da clase+ ord*nalos (or nombre.
for $profesor in distinct%&alues(doc("bailes.xml")/bailes/baile/profesor) let $salas ' doc("bailes.xml")/bailes/baileprofesor$profesor*/sala order b $profesor return
{$profesor}
{$salas}
<(ro3esores> :esus ;o)ano 2 2 (ro3esores> <(ro3esores> ;aura Mendiola 1 (ro3esores> <(ro3esores> Miriam 9utierre) 1 1 (ro3esores> <(ro3esores> #oberto 9arcia 1 (ro3esores>
. Mostrar la media de los (recios de todos los bailes.
let $baile ' doc("bailes.xml")/bailes/baile return {a&+($baile/precio)}
? ?. Mostrar la suma de los (recios de los bailes de la sala 1.
let $baile ' doc("bailes.xml")/bailes/bailesala#* return {sum($baile/precio)}
0= 1-. Mostrar cuAntas (la)as en total o3erta el (ro3esor ":esus ;o)ano".
let $baile ' doc("bailes.xml")/bailes/baileprofesor "-esus ozano"* return {sum($baile/plazas)}
<(la)as>22(la)as> 11. Mostrar el dinero que ganarBa la (ro3esora ";aura Mendiola" si se
com(letaran todas las (la)as de su baile+ sabiendo que sClo tiene un baile. let $baile ' doc("bailes.xml")/bailes/baileprofesor "aura endiola"* return $baile/plazas 0 $baile/precio
012. Mostrar el dinero que ganarBa el (ro3esor ":esus ;o)ano" si se com(letaran todas las (la)as de su baile+ (ero mostrando el beneDcio de cada baile (or se(arado. for $baile in doc("bailes.xml")/bailes/baile where $baile/profesor "-esus ozano" return {$baile/plazas 0 $baile/precio}
?-- 2- 1. Mostrar el dinero que ganarBa la (ro3esora ";aura" ,no conocemos su
a(ellido si se com(letaran todas las (la)as de su baile. for $baile in doc("bailes.xml")/bailes/baile where starts%with($baile/profesor "aura") return {$baile/plazas 0 $baile/precio}
0-
1. Mostrar el nombre del baile+ su (recio y el (recio con un descuento
del 10 (ara 3amilias numerosas. Frdenar (or el nombre del baile for $baile in doc("bailes.xml")/bailes/baile order b $baile/nombre return
{$baile/nombre}
{$baile/precio/text()} {$baile/precio 0 !.23}
!ac!ac!a <(recio>-(recio> <3am@numerosa>3am@numerosa> Merengue <(recio>=0(recio> <3am@numerosa>.=03am@numerosa> &asodoble <(recio>2-(recio> <3am@numerosa>2=23am@numerosa> #oc$ <(recio>-(recio> <3am@numerosa>20.03am@numerosa>
%alsa <(recio>2(recio> <3am@numerosa>2=.23am@numerosa> Tango <(recio>2=(recio> <3am@numerosa>22.?03am@numerosa> 10. Mostrar todos los datos de cada baile e5ce(to la 3ec!a de comien)o y
de Dn. for $baile in doc("bailes.xml")/bailes/baile return {$baile/0 except $baile/comienzo except $baile/1n}
Tango <(recio cuota8"mensual" moneda8"euro">2=(recio> <(la)as>2-(la)as> <(ro3esor>#oberto 9arcia(ro3esor> 1 !ac!ac!a <(recio cuota8"trimestral" moneda8"euro">-(recio> <(la)as>1(la)as> <(ro3esor>Miriam 9utierre)(ro3esor> 1 #oc$ <(recio cuota8"mensual" moneda8"euro">-(recio> <(la)as>10(la)as>
<(ro3esor>;aura Mendiola(ro3esor> 1 Merengue <(recio cuota8"trimestral" moneda8"dolares">=0(recio> <(la)as>12(la)as> <(ro3esor>:esus ;o)ano(ro3esor> 2 %alsa <(recio cuota8"mensual" moneda8"euro">2(recio> <(la)as>1-(la)as> <(ro3esor>:esus ;o)ano(ro3esor> 2 &asodoble <(recio cuota8"anual" moneda8"euro">2-(recio> <(la)as>(la)as> <(ro3esor>Miriam 9utierre)(ro3esor> 1 1. Mostrar en una tabla de GTM; los nombres de los bailes y su (ro3esor+
cada uno en una Dla. { for $baile in doc("bailes.xml")/bailes/baile return {$baile/nombre/text()} | {$baile/profesor/text()} |
}
Tango | #oberto 9arcia |
!ac!ac!a | Miriam 9utierre) |
#oc$ | ;aura Mendiola |
Merengue | :esus ;o)ano |
%alsa | :esus ;o)ano |
&asodoble | Miriam 9utierre) |