Join Example (1)
bc#0.bookstore#1.fiction#2
bc#0.bookstore#1.fiction#2.sci-fi#3
$A=*[d-join[return(children(.))](.)](x)=
$B=select[“book”](d-join[return(children(.))]($A))=
bc#0.bs#1.f#2.fa#8.mi#9.b#10
$C=d-join[return(children(.))]($B)=//*?/book?/*
bc#0.bs#1.f#2.sf#3.b#4.isbn#5
bc#0.bs#1.f#2.sf#3.b#4.title#6
$D=varbind[$i,select[“isbn”](children(.))]($B)=
bc#0.bs#1.f#2.sf#3.b#4<$i,isbn#5>
bc#0.bs#1.f#2.fa#8.mi#9.b#10<$i,isbn#11>
select[“isbn”](d-join[children(.)]
(select[“boughtbooks”](d-join[children(.)](.)))=
= varget[$i](.)](“$E”)]($D)=
(//*?/customer[boughtbooks/isbn=$i])
$E=select[“customer”](d-join[children(.)]
(*[d-join[return(children(.))](.)](d-join[root(.)]($D)))=//*?/customer
bc#0.bs#1.f#2.sf#3.b#4.cs#14.customer#20
bc#0.bs#1.f#2.fa#8.mi#9.b#10.cs#14.customer#15
bc#0.bs#1.f#2.fa#8.mi#9.b#10.cs#14.customer#20