Appearance
查询数据节点
查询数据节点用于从指定数据表中读取符合条件的记录,对应常规数据库操作中的 SELECT。它通过可视化方式配置返回字段、筛选条件、排序方式和查询上限,无需编写 SQL,适合单表查询场景。
需要跨表关联、聚合计算、子查询或其他复杂查询时,再考虑 SQL 自定义节点。普通查询优先使用本节点,字段和筛选范围更容易检查。
添加与配置
在节点面板的 数据库 分类中添加 查询数据 节点。选择数据表后,属性面板依次提供查询字段、查询条件、排序方式、查询上限、输出和异常处理配置。

截图示例从 daily_expenses 表查询 name 和 price:只保留 price 大于等于 100 的记录,按 price 从高到低排序,最多返回 50 条。
数据表
单击 添加数据表,从资源库数据库中选择目标表。每个查询数据节点只支持操作一张数据表;选中后可以移除并重新选择。
执行前应确认:
- 数据表属于正确的工作空间和运行环境;
- 当前执行身份具有读取权限;
- 字段结构和类型与流程预期一致;
- 多用户数据隔离、调试数据隔离等能力已在目标环境实际验证。
应以所选数据库、运行渠道和实际测试结果为准。
查询字段
单击 查询字段 右侧的加号,从数据表字段中选择要返回的列,可以添加多个字段。
选择查询字段后,会同步把这些字段添加到 outputList 的子项中。例如选择 name String 和 price Integer 后,下游可以按对应名称和类型引用查询结果。
建议只选择后续流程真正需要的字段,避免读取大字段、敏感字段或无关列。如果不配置查询字段,节点虽然可以保留空字段列表,但输出结构不够明确;正式流程应显式选择字段并通过试运行确认返回内容。
查询条件
查询条件用于限定记录范围。每个条件由字段、运算符和值组成,值可以填写固定值,也可以引用开始节点、上游输出或流程变量。
运算符会根据字段类型变化:
| 字段类型 | 支持的运算符 |
|---|---|
| 字符串 | 等于、不等于、模糊匹配、不模糊匹配、属于、不属于、为空、不为空 |
| 整数、数字 | 等于、不等于、大于、小于、大于等于、小于等于、属于、不属于、为空、不为空 |
| 时间 | 等于、不等于、大于、小于、大于等于、小于等于、为空、不为空 |
| 布尔 | 等于、不等于、为空、不为空、为真、为假 |
其中“为空”“不为空”“为真”“为假”不需要额外填写右值;“属于”和“不属于”使用列表类型的值。
添加多个条件后,可以选择条件关系:
- 且:所有条件都满足时返回;
- 或:任一条件满足时返回。
不设置查询条件会扩大查询范围,应始终结合查询上限和权限控制。面向用户输入的筛选值还应先做类型、空值和业务范围校验。
排序方式
单击 排序方式 右侧的加号选择排序字段,可以配置多个字段,并通过拖动调整排序优先级。
排序选项随字段类型显示:
- 字符串:
A→Z或Z→A; - 数字、时间和布尔等类型:
0→9或9→0。
需要稳定分页或稳定获取最新记录时,应选择具有确定性的排序字段;当主排序字段可能重复时,再增加唯一字段作为后续排序依据。
查询上限
查询上限用于限制最多返回的记录数,默认值为 100,允许范围为 1~1000。
不要把最大值当作默认选择。应根据下游节点实际需要设置较小上限;需要处理大量记录时,优先使用分页、批处理或其他可控的数据处理方案,避免一次读取过多记录。
输出

查询数据节点提供两个固定输出:
| 输出 | 类型 | 说明 |
|---|---|---|
outputList | Array<Object> | 符合条件的记录列表;查询字段会同步为对象子项 |
rowNum | Integer | 记录数量输出;应以实际试运行结果确认具体值 |
查询没有命中时,下游应按空列表处理,不要直接访问第一项。修改查询字段后,应检查 outputList 子项和所有下游引用是否仍然一致。
默认输出中未定义 errorBody 和 isSuccess,异常处理应通过对应分支或运行结果处理。
异常处理
新建节点的默认设置为:
- 整体执行超时:60 秒;
- 重试次数:不重试;
- 异常处理方式:中断流程。
查询通常没有写入副作用,但重试仍可能增加数据库压力或造成重复的外部调用链。只有确认查询可安全重放、超时设置合理并评估数据量后,才考虑启用重试。
如果业务允许查询失败后继续,应通过明确的异常分支提供降级值或提示;下游必须能够区分“查询成功但没有数据”和“查询执行失败”。
示例:查询金额较高的费用记录
- 选择
daily_expenses数据表; - 查询字段选择
name和price; - 添加条件:
price大于等于100; - 排序字段选择
price,排序方式选择9→0; - 将查询上限设置为
50; - 试运行后检查
outputList、rowNum和字段类型; - 再把结果传给循环、批处理、输出或其他下游节点。
常见问题
为什么 outputList 中没有需要的字段?
检查是否已在查询字段中选中该列。已选字段会同步到 outputList 子项;修改字段后,还要检查下游是否仍引用原有名称或类型。
为什么查询结果为空?
依次核对数据表、运行环境、字段类型、条件值和条件关系。尤其要区分数字 100 与字符串 "100",并确认引用变量在执行路径上已经产生值。
为什么添加第二个条件后结果明显变多?
检查条件关系是否为“或”。“或”只要求任一条件成立,范围通常比“且”更大;需要同时满足多个限制时应改为“且”。
为什么返回记录顺序每次不一致?
没有配置排序,或排序字段存在大量重复值。添加稳定的排序字段;需要完全确定顺序时,再追加唯一字段作为次级排序。
为什么最多只能查询 1000 条?
查询上限的有效范围是 1~1000。大量数据不应一次全部加载,应改用分页、批处理或拆分任务,并控制并发和下游处理成本。
为什么试运行能查到数据,其他运行渠道却查不到?
先核对工作空间、数据库、执行身份和运行环境,并分别在目标渠道验证数据源和权限。
查询数据节点和 SQL 自定义节点怎么选?
单表字段筛选、排序和数量限制优先使用查询数据节点。只有可视化配置无法表达关联、聚合或复杂 SQL 时才使用 SQL 自定义节点,并加强参数和权限控制。