数据连接

Joining

您可以将数据连接以合并当前数据与另一个表,甚至与一个保存的问题。

点击“连接数据”按钮添加连接步骤后,您需要选择要连接的数据(来自同一数据库)。您只能选择与起始数据来自同一数据库的表和保存的问题。

Picking the data to join

接下来,您需要选择要连接的列。这意味着您从第一个表中选择一个列,从第二个表中选择一个列,连接将根据第一个列的值等于第二个列的值将行拼接在一起。一个非常常见的例子是在每个表中连接一个ID列,因此如果您选择了一个具有表之间外键关系的表来连接,Metabase将自动为您选择相应的ID列。在您的连接步骤结束时,有一个按钮,您可以点击以选择要从连接数据中包含哪些列。

默认情况下,Metabase将执行左外连接,但您可以通过点击维恩图图标来选择不同的连接类型。并非所有数据库都支持所有类型的连接,因此Metabase将只显示您所使用的数据库支持的选择。

以下是基本类型的连接

  • 左外连接:选择表A的所有记录,以及满足连接条件的表B的记录(如果有)。
  • 右外连接:选择表B的所有记录,以及满足连接条件的表A的记录(如果有)。
  • 内连接:仅选择满足连接条件的表A和B的记录。
  • 全外连接:选择两个表中的所有记录,无论是否满足连接条件。

左外连接示例:如果表A是订单,表B是客户,假设您在订单的customer_id列等于客户的ID列的情况下进行连接,当您执行左外连接时,您的结果将是一个所有订单的完整列表,并且每个订单行还将显示下订单的客户列。由于单个客户可以下多个订单,给定客户的详细信息可能会在不同的订单行中重复多次。如果没有相应客户,该订单的详细信息将显示,但客户列将为该行空白。

多个连接阶段

在许多情况下,您可能有表A、B和C,其中A和B有联系,B和C有联系,但A和C没有。如果您要将A连接到B再连接到C,您只需要添加多个连接步骤。点击“连接数据”,将表A连接到表B,然后点击下面完成连接块的“连接数据”步骤来添加第二个连接步骤,并将您最后连接的结果连接到表C。

An A to B to C join

基于多个条件连接

您的连接也可以包括多个条件以细化结果。Metabase将使用AND运算符组合多个条件。

Joining tables on multiple columns

使用不同运算符进行连接

您可以使用比较条件如=><来连接表。

Join operators

进一步阅读

想改进这些文档吗? 提出更改。