---
order: 6
navTitle: 关联
---
# 加工组件：关联

关联用于获取来自其他表的数据，类似于SQL里的join。如【门店月度进销计划表】与【门店月销汇总表】表关联，从而获得产品每月的零售总金额、交易总金额等数据

![关联](./images/2021-06-09-17-56-04.png)

示例地址：[关联](https://demo.succbi.com/v5/DEMO/data?:open=yUECyvH2HIKx5h3rn3jpIB)

## 操作步骤{#steps}

添加**关联**组件的方式有2种：

方式一：\
将需要关联的表拖拽至原查询下方，如将表**门店月销汇总表**拖至节点**汇总**下方，这种方式下，系统默认将原查询作为主表：
![关联](./images/2021-06-09-17-57-34.gif)

方式二：\
点击原查询右侧的加号，选择**关联**，将表**门店月销汇总表**拖拽至**关联**节点上，这种方式下，系统默认将原查询作为主表：
![关联](./images/2021-06-09-17-59-23.gif)

## 关联方式{#association}

根据功能不同，关联方式分为如下3种：

1. 左连接：数据表关联后的结果集保留的是主表的所有数据行，以及副表中与主表匹配的数据行，两张表的列都保留
   ![关联](./images/pptx-image-leftjoin.png)
2. 内连接：数据表关联后的结果集保留的是两张表的交集，两张表的列都保留
   ![关联](./images/pptx-image-innerjoin.png)
3. 全连接：数据表关联后的结果集保留的是两张表的并集，两张表的列都保留
   ![关联](./images/pptx-image-fulljoin.png)

:::tip
MySQL数据库不支持全连接，系统默认当左连接处理
:::

## 主查询{#main-query}

主查询表用于控制多表之间的查询顺序，一般在进行左连接时使用。在下拉列表中选择对应的表名设置为主查询表。

也可以通过**调整其他查询顺序**来调整表的查询顺序，拖动列表中的表名以调整顺序。其中，主查询表的顺序默认为第一个，当调整其他表的顺序为第一个时，此时主查询表也会对应修改。
![关联](./images/2021-06-09-17-56-58.gif)

## 连接条件{#connection-conditions}

数据表进行关联时的匹配条件，系统默认的连接条件规则如下：

1. 如果设置了全局关联关系，系统自动采用全局的关联关系，见文档：[关联关系](../../data-gov/model/model-relations.md)
2. 如果没有设置全局关联关系，系统默认根据主表和副表相同的字段名称设置连接条件，默认最多显示5条连接条件
3. 当默认连接条件不满足时，可以点击添加连接条件，如添加关联条件为：`进销存月`.`销售单位`=`月销汇总表`.`销售单位`

## 跨源关联{#cross-source}

不同数据源的表支持关联操作，但在执行跨数据源关联操作时，需注意跨数据源关联的本质是将不同数据源的数据暂时迁移至同一数据源中进行关联。此迁移过程将在[项目默认数据库](../../project-manage/data-mgr-setting.md#default)中生成临时表。

例如，若[项目默认数据库](../../project-manage/data-mgr-setting.md#default)设置为`succbiyw`，在该项目中使用`Kingbasepg`数据源表与`SQLServer`数据源表关联时，两张跨源表会在`succbiyw`中生成两张临时表，实际关联操作是基于这两张临时表。
![跨源关联](./images/2026-01-04-10-10-10.gif)

在预览阶段，临时表仅支持存储不超过1万条数据，若希望获取全量数据，需点击**提取数据**。因此，跨数据源关联的数据加工建议设置[提取](../../data-gov/model/model-settings.md#extract)，最终以提取后[模型输出节点](./model-output.md)的数据为准。预览阶段的中间节点数据仅供参考。
