SQL 连接类型以及可能的最小和最大行数

问题描述 投票:0回答:1

我有2个表,都包含一列

user_id
;表 1 有 50 行,表 2 有 100 行。如果我从表 1 到表 2 执行内连接、左连接、右连接和完全外连接。

这些连接的最小和最大可能行数是多少?请以整数形式给出答案。

注意:不要对这些表中

user_id
的唯一性做出任何假设。

  • 内连接:最小值 = ?, 最大值 = ?

  • 左连接:最小值 = ?,最大值 = ?

  • 右连接:最小值 = ?,最大值 = ?

  • 完全外连接:最小值 = ?,最大值 = ?

  • 内连接:最小值 = 0,最大值 = 150

  • 左连接:最小值 = 50,最大值 = 150

  • 右连接:最小值 = 100,最大值 = 150

  • 完全外连接:最小值 = 50,最大值 = 150

我的答案正确吗?

sql join left-join outer-join right-join
1个回答
0
投票

内连接:最小值 = 0,最大值 = 50

最小值:如果没有匹配的用户 ID,您将获得 0 行。 最大值:最多可以获取 50 行,即表 1 的大小。

左连接:最小值 = 50,最大值 = 100

最小值:您将始终获得至少 50 行,因为它包含表 1 的所有内容。 最大值:如果表 1 中的所有用户 ID 都与表 2 匹配,则最多可以获得 100 行。

右连接:最小值 = 100,最大值 = 100

最小值:您将始终获得至少 100 行,因为它包含表 2 的所有内容。 最大值:如果表 2 中的所有用户 ID 都与表 1 匹配,则最多可以获得 100 行。

完全外连接:最小值 = 100,最大值 = 100

最小值:您将获得至少 100 行,这是较大表 2 的大小。 最大值:如果两个表中的每个用户 ID 都匹配,您最多可以获得 100 行。

© www.soinside.com 2019 - 2024. All rights reserved.