# UNION

Combines results from multiple [SELECT](https://docs.singlestore.com/db/v9.1/reference/sql-reference/data-manipulation-language-dml/select.md) statements.

`UNION DISTINCT` removes duplicate rows, while `UNION ALL` does not remove them. `UNION` is equivalent to `UNION DISTINCT`.

## Syntax

```
SELECT ...
UNION [ALL | DISTINCT] SELECT ...
[UNION [ALL | DISTINCT] SELECT ...]

```

## Remarks

* The first and all subsequent `SELECT` statements must select the same number of columns.
* `UNION` statements are converted into nested sub-select queries by the query processor.
* The maximum depth of nested sub-select queries is 40. Beyond this the `UNION` statements are converted to `TABLE`, allowing you to write up to 337 statements (0-336).

## Examples

```sql
SELECT * FROM table_a UNION ALL SELECT * FROM table_b;
SELECT * FROM table_a UNION SELECT * FROM table_b;

```

```sql
SELECT * FROM id_t UNION ALL SELECT * FROM id_t2;

```

```output

 +------+----------------------------------------------------------------------------+
 | a    | b                                                                          |
 +------+----------------------------------------------------------------------------+
 |    1 | 0xE82C75FA86974BE7903270F4353D865C                                         |
 |    1 | 0x31343865306665352D666666322D346363362D383634622D313838303637313135653236 |
 +------+----------------------------------------------------------------------------+
```

***

Modified at: March 31, 2025

Source: [/db/v9.1/reference/sql-reference/data-manipulation-language-dml/union/](https://docs.singlestore.com/db/v9.1/reference/sql-reference/data-manipulation-language-dml/union/)

(An index of the documentation is available at /llms.txt)
