Working with subqueries
Cypher allows you to write subqueries using the CALL
clause. There are two types of subqueries available:
- Returning subqueries
- Unit subqueries
The subqueries are evaluated for each incoming row that is provided by the parent query.
Let us work with returning subqueries first.
Working with returning subqueries
Subqueries that end with a RETURN
statement are called returning subqueries. Every row from a returning subquery is combined with the input row to prepare the result of the query. This means the final output of the outer query can be impacted by the subquery returned values.
Note
If a subquery does not return any rows, then there will not be any rows returned by the outer query.
Returning subqueries are very useful when we want to apply sorting and extra filtering to UNION
queries. When we use the UNION
clause, it is not possible to apply any sorting. Let us take a look at a UNION
query with sorting using a subquery...