数据和商业智能术语表

A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
V
W
X

什么是连接(join)?

连接(join)是关系数据库中将两个的结果组合在一起的操作。

虽然“连接”这个词听起来像是您正在合并表本身,但连接实际上是从两个(或更多)不同的表中取出,并返回一组新的行,这些新行结合了这些表的,并使用实体键外键来确定哪些行是相关的。

连接类型

有四种SQL 连接类型

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

Metabase 中的连接示例

Metabase 默认对查询构建器中提出的问题使用左外连接,但内连接是原生 SQL 查询的默认设置(即,如果您在查询中仅使用 JOIN 而未指定连接类型)。

假设我们想从 Metabase 的示例数据库中的 PeopleOrders 表中返回结果,例如一个包含订单 ID、下单人姓名及其用户 ID 的表格。

查询构建器连接

图 1 展示了 Metabase 笔记本编辑器中此连接的样子。我们还需要选择哪些列可见,这样就不会显示两个表中的所有列。

<em>Fig. 1</em>. A join in the query builder.
图 1. 查询构建器中的连接。

原生 SQL 查询连接

如果我们将相同的查询写入 SQL,它可能看起来像这样

SELECT
  orders.id AS "Order ID",
  people.name AS "Name",
  people.id AS "User ID"
FROM
  people
JOIN
  orders ON people.id = orders.user_ID

这里我们已经确定了连接发生的位置(在本例中,连接发生在 People → IDOrders → User_ID,一个实体键和一个外键)。

核心文章

相关术语

延伸阅读

这有帮助吗?

感谢您的反馈!
© . This site is unofficial and not affiliated with Metabase, Inc.