> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> ClickHouse 中的 loop 表函数用于无限循环返回查询结果。

# loop

<div id="syntax">
  ## 语法
</div>

```sql theme={null}
SELECT ... FROM loop(database, table);
SELECT ... FROM loop(database.table);
SELECT ... FROM loop(table);
SELECT ... FROM loop(other_table_function(...));
```

<div id="arguments">
  ## 参数
</div>

| 参数                          | 描述                                                                                          |
| --------------------------- | ------------------------------------------------------------------------------------------- |
| `database`                  | 数据库名。                                                                                       |
| `table`                     | 表名。                                                                                         |
| `other_table_function(...)` | 其他表函数。示例：`SELECT * FROM loop(numbers(10));` 其中 `other_table_function(...)` 为 `numbers(10)`。 |

<div id="returned_values">
  ## 返回值
</div>

无限循环，返回查询结果。

<div id="examples">
  ## 示例
</div>

从 ClickHouse 中查询数据：

```sql theme={null}
SELECT * FROM loop(test_database, test_table);
SELECT * FROM loop(test_database.test_table);
SELECT * FROM loop(test_table);
```

或使用其他表函数：

```sql theme={null}
SELECT * FROM loop(numbers(3)) LIMIT 7;
   ┌─number─┐
1. │      0 │
2. │      1 │
3. │      2 │
   └────────┘
   ┌─number─┐
4. │      0 │
5. │      1 │
6. │      2 │
   └────────┘
   ┌─number─┐
7. │      0 │
   └────────┘
```

```sql theme={null}
SELECT * FROM loop(mysql('localhost:3306', 'test', 'test', 'user', 'password'));
...
```
