Strictly speaking, ModeShape only supports non-correlated subqueries, which means that they can actually be evaluated independently (outside the context of the containing query).
Additionally, because subqueries appear on the right-hand side of an operator, all subqueries must return a single column, and each row's single value will be treated as a literal value. If the subquery is used in a clause that expects a single value (e.g., in a comparison), only the subquery's first row will be used. If the subquery is used in a clause that allows multiple values (e.g., "IN (...)"), then all of the subquery's rows will be used.
For example, in the following query fragment, the first value in each row of the subquery's results will be used within the IN clause of the outer query: