Hola a todos, hoy os dejo una serie de ejercicios propuestos y resueltos XQUERY.
Todos los ejercicios que proponemos están resueltos en este mismo post, intenta hacerlo por ti mismo y si te quedas atascado puedes mirar la solución. Recuerda, que no tiene por que estar igual tu solución con la del post, el objetivo es que aprendas no que me copies la solución.
Sino sabéis usar el programa BaseX, os dejo un tutorial al respecto.
Tutorial sobre como usar Base X
El XML que vamos a utilizar para estos ejercicios, lo puedes descargar aquí.
1. Muestra el nombre de todos los bailes.
Spoiler Inside |
SelectShow> |
for $baile in doc("bailes.xml")//bailes/baile/nombre/text()
return $baile
|
2. Muestra el nombre y precio de todos los bailes.
Spoiler Inside |
SelectShow> |
for $baile in doc("bailes.xml")//bailes/baile
return
{data($baile/nombre/text())}
{data($baile/precio/text())}
|
3. Muestra el nombre y precio de todos los bailes donde su precio es mayor que 40.
Spoiler Inside |
SelectShow> |
for $baile in doc("bailes.xml")//bailes/baile
where $baile/number(precio) > 40
return
{data($baile/nombre/text())}
{data($baile/precio/text())}
|
4. Mostrar los bailes ordenados por nombre.
Spoiler Inside |
SelectShow> |
for $baile in doc("bailes.xml")//bailes/baile/nombre/text()
order by $baile
return $baile
|
5. Mostrar los nombres de los bailes que contienen una a.
Spoiler Inside |
SelectShow> |
for $baile in doc("bailes.xml")//bailes/baile/nombre/text()
where contains($baile, "a")
return $baile
|
6. Mostrar el nombre de los bailes donde el apellido del profesor sea Lozano.
Spoiler Inside |
SelectShow> |
for $baile in doc("bailes.xml")//bailes/baile
where contains($baile/profesor, "Lozano")
return $baile/nombre/text()
|
7. Mostrar todos los bailes, excepto el 3 y 5.
Spoiler Inside |
SelectShow> |
for $baile in doc("bailes.xml")//bailes/baile
where $baile/@id != 3 and $baile/@id != 5
return $baile
|
8. Mostrar profesores que den clases de bailes por una cuota mensual.
Spoiler Inside |
SelectShow> |
for $baile in doc("bailes.xml")//bailes/baile
where $baile/precio/@cuota = "mensual"
return $baile/profesor/text()
|
9. Mostrar el nombre de los bailes de la sala 1, que se pague con euros y el precio sea menor a 35.
Spoiler Inside |
SelectShow> |
for $baile in doc("bailes.xml")//bailes/baile
where $baile/sala/text() = "1" and $baile/precio/@moneda = "euro" and $baile/number(precio) < 35
return $baile/nombre/text()
|
Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.
Deja una respuesta