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

# 查询记录

> 从表格中检索记录，支持筛选和分页

<Tip>
  我们强烈建议使用运行脚本来搭建自动化，因为它可以覆盖所有操作行为，包括原本需要手动搭建的操作。你只需在 AI 对话中描述需求即可。

  请注意：如果你手动添加操作，AI 后续将无法识别或修改它们。
</Tip>

## 用 AI 创建

打开表格右侧边栏的 AI 对话，描述你的需求。

AI 会为你处理一切：选择合适的触发器和操作，映射字段，自动配置整个工作流。

只需描述一次目标，工作流即刻就绪，无需手动配置。

从表格中检索符合条件的记录。查询结果以数组形式返回，可直接用于后续步骤，也可以配合循环执行进行批量处理。这是在工作流中获取数据的核心操作。

## 配置

| 设置         | 必填 | 说明                         |
| ---------- | -- | -------------------------- |
| 表格         | 是  | 要查询的表格                     |
| 视图         | 否  | 限定为特定视图（使用该视图的排序和筛选规则）     |
| 筛选条件       | 否  | 自定义筛选条件，支持多条件组合和 AND/OR 逻辑 |
| 跳过（Skip）   | 否  | 跳过前 N 条记录（用于分页）            |
| 获取数量（Take） | 否  | 返回的最大记录数（用于分页）             |

## 如何设置

1. 在工作流中添加**查询记录**操作。
2. 选择要查询的表格。
3. （可选）选择视图来继承该视图的排序和筛选规则。
4. （可选）配置筛选条件。例如：`状态` 等于 `进行中` 且 `截止日期` 早于 `今天`。
5. （可选）设置分页参数。
6. 点击**测试**查看查询结果。

## 输出数据

查询结果以**数组**形式返回，包含每条记录的：

* 记录 ID
* 所有字段的值

后续步骤可以通过 **+** 按钮引用查询结果。常见用法：

* 引用第一条记录的某个字段值
* 将整个数组传入[循环执行](../logic/loop-run)步骤，逐条处理
* 引用查询结果的记录总数

## 分页说明

当表格中数据量较大时，建议使用分页参数控制查询范围：

| 参数   | 用途         | 示例                  |
| ---- | ---------- | ------------------- |
| Skip | 跳过前 N 条记录  | 设为 100 表示从第 101 条开始 |
| Take | 最多返回 N 条记录 | 设为 50 表示最多返回 50 条   |

如果不设置 Take，系统会有默认的返回上限。如果你需要处理大量数据，建议分批查询或合理设置筛选条件来缩小范围。

## 适用场景

* **逾期任务批量提醒**：定时工作流每天早上查询所有截止日期已过且状态不是"已完成"的任务，通过循环执行逐条发送提醒邮件给负责人。
* **数据汇总与报告**：定时查询本周新增的所有订单记录，汇总金额和数量，通过邮件发送周报给管理层。
* **关联数据查找**：当新记录创建时，查询另一个表中是否存在匹配的客户信息，如果存在则自动填充关联字段。
* **条件判断前置查询**：在执行更新或创建操作前，先查询是否已存在相同记录，避免重复数据。

## 提示与注意事项

* **尽量使用筛选条件**：避免查询全表数据。明确的筛选条件不仅能提高查询速度，也能减少后续步骤的处理量。
* **合理设置 Take 值**：如果你只需要检查是否存在某条记录，设置 `Take = 1` 即可，无需返回全部数据。
* **使用视图**：如果目标视图已经配置了筛选和排序，直接选择视图比手动重复配置更方便。
* **避免频繁全表扫描**：在定时触发的工作流中，每次运行都全表扫描会给系统带来不必要的负担。
* 查询结果是操作执行时的快照。如果在后续步骤执行过程中其他用户修改了数据，查询结果不会自动更新。
* 支持[跨 Base 访问](/zh/basic/automation/actions/records/cross-base)，可以查询其他 Base 中的表格。使用跨 Base 查询时，查询以工作流创建者的权限执行。如果创建者失去对目标 Base 的访问权限，该步骤将失败。
* 查询结果可以直接作为[循环执行](../logic/loop-run)的数据源。
* 如果查询结果为空（没有匹配的记录），后续引用该结果的步骤仍会执行，但获取到的值为空。

## 相关文档

* [循环执行](/zh/basic/automation/actions/logic/loop-run)
* [创建记录](/zh/basic/automation/actions/records/create-record)
* [更新记录](/zh/basic/automation/actions/records/update-record)
* [跨 Base 访问](/zh/basic/automation/actions/records/cross-base)
