9.6. Union
Combining results from multiple queries is done through the UNION
operator.
Combines the results of two or more queries into a single result set that includes all the rows that belong to all queries in the union.
The number and the names of the columns must be identical in all queries combined by using UNION
.
To keep all the result rows, use UNION
ALL
.
Using just UNION
will combine and remove duplicates from the result set.
Combine two queries
Combining the results from two queries is done using UNION ALL
.
Query.
MATCH (n:Actor) RETURN n.name AS name UNION ALL MATCH (n:Movie) RETURN n.title AS name
The combined result is returned, including duplicates.
Result
name |
---|
4 rows |
|
|
|
|
Try this query live. create (_0:`Actor` {`name`:"Anthony Hopkins"}) create (_1:`Actor` {`name`:"Helen Mirren"}) create (_2:`Actor` {`name`:"Hitchcock"}) create (_3:`Movie` {`title`:"Hitchcock"}) create _0-[:`KNOWS`]->_1 create _0-[:`ACTS_IN`]->_3 create _1-[:`ACTS_IN`]->_3 match (n:Actor) return n.name as name UNION ALL match (n:Movie) return n.title as name
Combine two queries and remove duplicates
By not including ALL
in the UNION
, duplicates are removed from the combined result set
Query.
MATCH (n:Actor) RETURN n.name AS name UNION MATCH (n:Movie) RETURN n.title AS name
The combined result is returned, without duplicates.
Result
name |
---|
3 rows |
|
|
|
Try this query live. create (_0:`Actor` {`name`:"Anthony Hopkins"}) create (_1:`Actor` {`name`:"Helen Mirren"}) create (_2:`Actor` {`name`:"Hitchcock"}) create (_3:`Movie` {`title`:"Hitchcock"}) create _0-[:`KNOWS`]->_1 create _0-[:`ACTS_IN`]->_3 create _1-[:`ACTS_IN`]->_3 match (n:Actor) return n.name as name UNION match (n:Movie) return n.title as name