Hive学习之连接查询

       Hive支持连接查询,但有一些条件必须遵守,比如只支持相等查询,其它查询如不等式查询则不支持,还支持外连接,左半连接查询。另外Hive支持多于两个表以上的连接查询。下面为Hive连接查询的语法:

join_table:
    table_reference JOIN table_factor [join_condition]
  | table_reference {LEFT|RIGHT|FULL} [OUTER] JOIN table_reference join_condition
  | table_reference LEFT SEMI JOIN table_reference join_condition
  | table_reference CROSS JOIN table_reference [join_condition] (as of Hive 0.10)
 
table_reference:
    table_factor
  | join_table
 
table_factor:
    tbl_name [alias]
  | table_subquery alias
  | ( table_references )
 
join_condition:
    ON equality_expression ( AND equality_expression )*
 
equality_expression:
    expression = expression
      上面的语法仅列出了连接查询的连接部分,至于查询部分可以参考SELECT语法格式。或许很多人在这样的语法面前都失掉了一半耐心,其实该语法很简单,可以理解为四种连接查询,分别为相等连接查询、外连接查询、左半连接查询和交叉连接(笛卡尔积)查询。即使这样还是有很多人不喜欢这么复杂的语法(包括本人)而更喜欢隐式连接查询,即FROM关键字后面跟着用逗号分隔的表明而省略掉join关键字,幸好Hive-0.13.0提供了这样的支持,如:

SE

你可能感兴趣的:(Hive,勤奋的Hive,Hive,连接查询,左半连接,外连接)