有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

什么是多表关联

多表关联指在数据分析时,当需要分析的数据存储在不同的表,可以通过数据关联,把多个表连接起来,形成模型进行数据分析。多表关联一般支持的关联关系有:
left join(左外连接):返回包括左表中的所有记录和右表中关联字段相等的记录
right join(右外连接):返回包括右表中的所有记录和左表中关联字段相等的记录
inner join(内连接):只返回两个表中关联字段相等的行
full join(外连接):返回结果是left join和right join的并集

举例

表A



表B

1. left join
sql 语句如下:
select * from A
left join B
on A.aID = B.bID
结果如下:

结果说明
left join 是以 A 表的记录为基础的,左表(A)的记录将会全部表示出来,而右表(B)只会显示符合搜索条件的记录(例子中为:A.aID=B.bID).B 表记录不足的地方均为 NULL
2. right join
sql 语句如下:
select * from A
right join B
on A.aID = B.bID
结果如下:

结果说明:
right join的结果刚好相反,这次是以右表(B)为基础的,A表不足的地方用 NULL 填充
3. inner join
sql 语句如下:
select * from A
inner join B
on A.aID = B.bID
结果如下:

结果说明:
这里只显示出了 A.aID=B.bID 的记录.这说明 inner join 并不以谁为基础,它只显示符合条件的记录.
4. full join
sql 语句如下
select * from A
full join B
on A.aID = B.bID
结果如下:

结果说明:
这里取了(A)表和(B)表的并集,两表不足的地方用 NULL 填充


创建多表关联

数据 > 数据表 > 新建数据表,选择建表方式的弹窗中,选择“多表关联”的入口


进入多表关联页面后,默认状态如下图所示,左侧为选择数据表区,右上方为画布区,右下方为数据预览和字段配置区

第一步需要选择用来关联的数据表。首先选择数据表的来源,分为数据源、Excel上传、腾讯文档(后续还将上线 API 接入)。

选中某个数据表来源后,下方“选择数据表”区将会拉出符合此来源的数据表。例如选择 Excel 上传,则会拉出 Excel 上传的所有数据表,同时支持搜索的方式进行查找。

以一个校园分析的场景举例解释接下来的使用流程。例如老师需要制作一份报表,需要用到“学号”、“姓名”、“数学成绩”、“英语成绩”这几个字段。目前数据来源有3张表,学生名单表有“学号”、“姓名”字段,数学成绩表里有“学号”、“数据成绩”字段、英语成绩表里有“学号”、“英语成绩”字段。

首先将学生名单表,拖拽到画布区中。此时下方数据预览区会预览该表的前50条数据。


之后将数学成绩表,拖拽到画布中学生名单表的旁边,此时画面会显示一个虚线框,代表需要放置的位置。

放置后,需配置两表之间的关联关系。首先需要选择关联方式,分为左外连接、右外连接、内连接。各连接的含义见 什么是多表关联

然后选择关联字段,默认会将两张表中名称相同的字段作为关联字段,例如举例学生名单表和数据成绩表中都有一个“学号”字段,需要靠这个字段进行关联,则会默认选择。您也可以根据业务需求添加或删除关联字段


最后进行字段选择,字段选择指选择关联后的数据表需要展示的字段,默认是全选。例如举例中关联后的数据表会出现两个“学号”字段,如果不需要,可以将其中的某个勾掉便不会展示。

单击保存后,预览关联后的数据表,此时可以发现学生名单表和数据成绩表便关联在一起了。


按上述方式我们把英语成绩表也拖拽以进行关联,关联后结果如下。


如果对关联后的表需要做一些字段加工,例如删除某些字段、修改字段显示名、字段类型等。可以在字段配置中进行

完成关联后,单击页面右上角保存,输入新建的数据表的显示名称和所属文件夹(选填)后,即可完成数据表的建立。