PostgreSQL 8.2.6 Documentation | ||||
---|---|---|---|---|

Prev | Fast Backward | Chapter 7. Queries | Fast Forward | Next |

The results of two queries can be combined using the set operations union, intersection, and difference. The syntax is

```
````
`*
query1*
UNION [
ALL
] `
`*
query2*
`
`*
query1*
INTERSECT [
ALL
] `
`*
query2*
`
`*
query1*
EXCEPT [
ALL
] `
`*
query2*

`
query1
`
and

```
````
`*
query1*
UNION `
`*
query2*
UNION `
`*
query3*

which really says

```
(
````
`*
query1*
UNION `
`*
query2*
) UNION `
`*
query3*

`
UNION`
effectively appends the result of `
query2
`
to the result of

`
INTERSECT`
returns all rows that are both in the result of `
query1
`
and in the result of

`
EXCEPT`
returns all rows that are in the result of `
query1
`
but not in the result of

In order to calculate the union, intersection, or difference of two queries, the two queries must be "union compatible" , which means that they return the same number of columns and the corresponding columns have compatible data types, as described in Section 10.5 .