# Generate a sequence of numbers using a SQL query

Published on: 2024-03-11 - Permalink SQL Oracle MariaDBSometimes we need to generate a sequence of numbers, maybe for cartesian products, or we want to work directly with number series using SQL expressions, for those cases I present a simple option using query recursiveness

### Oracle

##### Using CONNECT BY operator

```
select level
from dual
connect by level <= 10;
```

##### Using Query Recursive Subfactoring

```
with c_numbers (lvl) as
( select 1 as lvl
from dual
union all
select lvl + 1
from c_numbers
where lvl < 10
)
select lvl
from c_numbers
order by lvl;
```

### MySQL / MariaDB

(borrowed directly from the MySQL manual) https://dev.mysql.com/doc/refman/8.0/en/with.html#common-table-expressions-recursive

```
WITH RECURSIVE cte (n) AS
(
SELECT 1
UNION ALL
SELECT n + 1 FROM cte WHERE n < 5
)
SELECT * FROM cte;
```