4.2、数据库内查询
功能模块如图所示:

DB-表选取 ¶
功能:该节点连接一个数据库连接积木作为输入,然后从连接的数据库中选择一个表或视图。该节点输出一个DB数据对象,其中包含数据库连接信息以及定义数据库中的数据的数据库查询。此外,该节点允许输入定制的SELECT语句,然后将该语句执行到所有连接的节点。

配置界面功能说明:
配置-设置:
- 数据库对象:选取可选的数据库名。
- 表:选择数据库对象后,可选对应的数据库表名。
- 选择一张表:单击按钮打开数据库选择框,在选择框内选择待查询的数据库和表。
- 自定义查询:启用/禁用所选表的自定义查询。
- SQL语句:此选项仅在启用自定义查询选项时可见。它提供了一个SQL编辑器来输入SELECT语句,该语句会执行到所有连接的节点。
DB-列过滤 ¶
功能:该节点允许从输入数据库表中筛选所需的列,积木节点执行后,结果中只包含用户筛选的列。

配置界面功能说明:
配置-设置:
- 手动选择过滤列:
- 包含:该列表包含输入表中要包含在输出表中的哪些列,选择后点"<"、">"、"<<"、">>"按钮添加或者移除。
- 排除:该列表包含输入表中要排除在输出表中的哪些列,选择后点"<"、">"、"<<"、">>"按钮添加或者移除。
- 强制包含:选择此选项可强制当前包含列表,即使输入表规范发生更改。如果所包含的某些列不再可用,则会显示一个警告。
- 强制排除:选择此选项可强制当前排除列表,即使输入表规范发生更改。如果所排除的某些列不再可用,则会显示一个警告。
- 表达式匹配过滤列:输入与要匹配到“包含”或“排除”列表的列相匹配的搜索模式。可以指定使用哪个列表。你可以使用通配符('?'匹配任意字符,'*'匹配任意字符序列)或正则表达式。您可以指定您的模式是否应该区分大小写。
- 按字段类型过滤列:根据字段类型,选择要包含的列。
DB-行过滤 ¶
功能:该节点允许从输入数据库表中筛选所需的行,积木节点执行后,结果中只包含用户筛选的行数据。

配置界面功能说明:
配置-设置:
- 查询条件:这个预览框显示了筛选条件及其层次结构。无效的条件或组以红色显示。
- 添加条件:点击添加条件,将向列表中添加一个新的查询条件。添加多个查询条件,将会添加到一个逻辑组中,逻辑组中的条件使用and或者or进行逻辑关联。
- 添加组:将所选条件组合到一个新的逻辑组中。
- 移除组:删除所选逻辑组并将其子条件移动到其父组。
- 删除:从列表中删除所选组或条件。
- 编辑条件:根据查询条件预览列表中所选元素,可以编辑所选组或条件;如果选择了一个组,则可以更改其逻辑运算符(AND或OR)。
DB-表数据汇总 ¶
功能:该节点允许按输入DB表数据中选择的列,对行进行分组。在对话框中,通过选择要分组的列和要聚合的列,可以交互式地创建SQL GROUP BY子句。

配置界面功能说明:
配置-设置:
- 分组设置:选择一个或多个列,根据它们创建组。
- 高级设置:
- 汇总列名:生成的聚合列的名称取决于所选的命名模式。
- 使用原列名:保留原来的列名。
- 聚合函数名(原列名):使用聚合方法命名新列名,并在括号中添加原列名。
- 原列名(聚合函数名):使用原列名命名新列,并在括号中添加使用的聚合方法名。
- 添加统计:勾选此选项可添加包含COUNT(*)操作结果的列,例如每个组的行数。
- 统计列名:COUNT(*)列的名称。仅当勾选“添加计数”选项时启用。
- 手动聚合:
- 聚合设置:从可用列列表中选择一个或多个用于聚合的列。在所选的可用列中,修改所选列字段的聚合方法。您可以多次添加同一列。若要更改多个列的聚合方法,请选择要更改的所有列,用鼠标右键单击打开上下文菜单并选择要使用的聚合方法。
- 参数:参数列显示了一个“Edit”按钮,用于需要附加信息的所有聚合操作符。点击“编辑”按钮打开参数对话框,允许更改操作用户特定的设置。
DB-表关联 ¶
功能:该节点连接两个DB数据表。连接基于两个表的连接列。

配置界面功能说明:
配置-关联设置:
- 关联模式:如果顶部表中的一行不能与底部表中的行连接(反之亦然),则有几种处理这种情况的方法。在内连接之后,匹配的行将显示在输出表中。如果底部表格中不存在匹配的行,则“左连接”将用缺失的值填充底部表格中的列。同样,如果顶部表中不存在匹配的行,则“右连接”将用缺失的值填充顶部表中的列。如果无法连接行,则“全连接”将用缺失的值填充顶部和底部表中的列。
- 关联字段:从顶部输入('左'表)和底部输入('右'表)中选择应用于连接的列。必须确保所选列的类型匹配。
- 匹配下列所有选项:如果顶部输入表的一行和底部输入表的一行在所有指定的列对中都匹配,则匹配。
- 匹配下列任一选项:如果顶部输入表的一行和底部输入表的一行在至少一个指定的列对中匹配,则匹配。
- 列选择:选择顶部输入(左表)和底部输入(右表)需要排除或保留的列。
- 重复列处理:如果两个输入表包含相同名称的列,则可对重复列进行自定义的处理。
- 过滤重复列:只保留来自顶部输入表的列,显示在输出表中。
- 不做处理:如果包含列表中有重复的列名,则不执行此节点。
- 添加默认后缀:对来自底部输入表的重复列名附加一个后缀,以便它们也显示在输出表中。
DB-执行读取 ¶
功能:在数据库中执行输入查询,并将结果检索到数据表中。

配置界面功能说明:
配置:
- 缓存策略:根据当前电脑的内存情况,自定义选择读取的数据缓存到什么地方。如果电脑内存足够,可以优先考虑内存中缓存数据,如果内存不够,则考虑将数据缓存到磁盘中。
DB-表数据查询 ¶
功能:该节点连接一个数据库连接积木作为输入,然后从连接的数据库中选择一个表或视图。该节点输出一个DB数据对象,其中包含数据库连接信息以及定义数据库中的数据的数据库查询。此外,该节点允许输入用户自定义的查询语句,然后将该语句执行到所有连接的节点。

配置界面功能说明:
配置:
- 表选取:
- 数据库对象:选取可选的数据库名。
- 表:选择数据库对象后,可选对应的数据库表名。
- 选择一张表:单击按钮打开数据库选择框,在选择框内选择待查询的数据库和表。
- 自定义查询:启用/禁用所选表的自定义查询。
- SQL语句:此选项仅在启用自定义查询选项时可见。它提供了一个SQL编辑器来输入SELECT语句,该语句会执行到所有连接的节点。
- 列过滤:
- 包含:该列表包含输入表中要包含在输出表中的哪些列,选择后点"<"、">"、"<<"、">>"按钮添加或者移除。
- 排除:该列表包含输入表中要排除在输出表中的哪些列,选择后点"<"、">"、"<<"、">>"按钮添加或者移除。
- 强制包含:选择此选项可强制当前包含列表,即使输入表规范发生更改。如果所包含的某些列不再可用,则会显示一个警告。
- 强制排除:选择此选项可强制当前排除列表,即使输入表规范发生更改。如果所排除的某些列不再可用,则会显示一个警告。
- 表达式匹配过滤列:输入与要匹配到“包含”或“排除”列表的列相匹配的搜索模式。可以指定使用哪个列表。你可以使用通配符('?'匹配任意字符,'*'匹配任意字符序列)或正则表达式。您可以指定您的模式是否应该区分大小写。
- 按字段类型过滤列:根据字段类型,选择要包含的列。
- 输入类型映射:该配置项允许您定义从默认类型映射到数据库类型的规则。
- 按名称映射:匹配给定的名称(或正则表达式),将原类型的列将映射到指定的数据库类型。
- 按类型映射:匹配给定的数据库类型的列,将原类型的列将映射到指定的数据库类型。