HiveQL - JOIN

2025年3月17日 | 阅读 3 分钟

HiveQL Join 子句用于根据两个或多个表之间的相关列组合数据。HiveQL 的各种类型连接包括:-

  • Inner Join
  • 左外连接
  • 右外连接
  • 全外连接

在这里,我们将对以下表的记录执行 join 子句

HiveQL - JOIN
HiveQL - JOIN

HiveQL 中的 Inner Join

HiveQL inner join 用于返回满足连接条件的多个表的行。换句话说,连接条件在每个被连接的表中找到匹配的记录。

HiveQL - JOIN

Hive 中 Inner Join 的示例

在此示例中,我们取两个表 employee 和 employee_department。employee 表的主键 (empid) 代表 employee_department 表的外键 (depid)。 让我们通过以下步骤执行 inner join 操作:-

  • 选择我们要创建表的数据库。

HiveQL - JOIN
  • 现在,使用以下命令创建一个表

HiveQL - JOIN
  • 将相应的数据加载到表中。

HiveQL - JOIN
  • 现在,使用以下命令创建另一个表

HiveQL - JOIN
  • 将相应的数据加载到表中。

HiveQL - JOIN
  • 现在,使用以下命令执行 inner join 操作:-

HiveQL - JOIN
HiveQL - JOIN
HiveQL - JOIN

HiveQL 中的 Left Outer Join

HiveQL left outer join 返回左侧(第一个)表中的所有记录,以及右侧(第二个)表中满足连接条件的记录。

HiveQL - JOIN

Hive 中 Left Outer Join 的示例

在此示例中,我们执行 left outer join 操作。

  • 让我们使用以下命令执行 left outer join 操作:-

HiveQL - JOIN
HiveQL - JOIN
HiveQL - JOIN

HiveQL 中的 Right Outer Join

HiveQL right outer join 返回右侧(第二个)表中的所有记录,以及左侧(第一个)表中满足连接条件的记录。

HiveQL - JOIN

Hive 中 Left Outer Join 的示例

在此示例中,我们执行 left outer join 操作。

  • 让我们使用以下命令执行 left outer join 操作:-

HiveQL - JOIN
HiveQL - JOIN
HiveQL - JOIN

全外连接

HiveQL full outer join 返回两个表中的所有记录。 它为任一表中缺少的记录分配 Null 值。

HiveQL - JOIN

Hive 中 Full Outer Join 的示例

在此示例中,我们执行 full outer join 操作。

  • 让我们使用以下命令执行 full outer join 操作:-

HiveQL - JOIN
HiveQL - JOIN
HiveQL - JOIN