Práctica Asignaturas XQuery
Práctica Asignaturas XQuery
Práctica Asignaturas XQuery
2. Indicar los nombres de las asignaturas seguidos con el número de plazas entre
paréntesis, ambos dentro de la misma etiqueta "lasasignaturas".
3. Indicar los nombres de las asignaturas cuyo precio sea mayor de 30.
4. Indicar los nombres de las asignaturas cuyo precio sea mayor de 30 y la moneda "euro".
5. Indicar los nombres y la fecha de comienzo de las asignaturas que comiencen el mes de
enero (utiliza para buscarlo la cadena de texto "/1/").
6. Indicar los nombres de los profesores y el aula en la que dan clase, ordénalos por aula.
7. Indicar los nombres de los profesores eliminando los repetidos y acompañar cada
nombre con todas las aulas en la que da clase, ordénalos por nombre.
for $profesor in distinct-values(doc("asignaturas.xml")/asignaturas/asignatura/profesor)
let $aulas := doc("asignaturas.xml")/asignaturas/asignatura[profesor = $profesor]/aula
order by $profesor
return
<profesor>
{$profesor}
{$aulas}
</profesor>
9. Indicar el sueldo que ganaría la profesora "Marta Lolailo" si se completaran todas las
plazas de su asignatura, sabiendo que sólo tiene una asignatura.
10. Indicar el sueldo que ganaría el profesor "David Martin" si se completaran todas las
plazas de su asignatura, pero mostrando el beneficio de cada asignatura por separado.
11. Indicar el sueldo que ganaría la profesora "Marta" (no conocemos su apellido) si se
completaran todas las plazas de su asignatura.
12. Indicar el nombre de la asignatura, su precio y el precio con un descuento del 15% para
familias numerosas. Ordenar por el nombre de la asignatura
13. Indicar todos los datos de cada asignatura excepto la fecha de comienzo y de fin.
let $tabla :=
<table>
<tr>
<th>Nombre de la asignatura</th>
<th>Profesor</th>
</tr>
{
for $asignatura in doc("asignaturas.xml")/asignaturas/asignatura
return
<tr>
<td>{$asignatura/nombre}</td>
<td>{$asignatura/profesor}</td>
</tr>
}
</table>
return $tabla