1、Hive SELECT语句
Hive查询即是SELECT语句
用于对表中的数据进行查询
按照规定的语法规则从表中选取数据
基本语法结构如下
SELECT [ALL |DISTINCT] select_expr,select_expr,...
FROM table_reference
[WHERE where_condition][GROUP BY col_list]
[ORDER BY col_list]
[CLUSTER BY col_list] [DISTRIBUTE BY col_list] [SORT BY col_list]][LIMIT[offset,]rows]
2、Hive WHERE 子句
WHERE条件必须是布尔表达式,用于过滤结果集
常用条件表达式
3、Hive ALL、DISTINCT、LIMIT子句
ALL和DISTINCT子句表示是否返回重复行,默认是ALL,返回所有匹配行
DISTINCT子句可以返回删除结果集中的重复行
LIMIT子句用于限制SELECT语句返回的行数
4、Hive CTE(common table expressions)
CTE也称公共表表达式
它可以表示一个临时的结果集(表),该表由一个简单的查询指定,只要在范围内,均可共享该表
CTE语法
WITH t1 AS(SELECT ...) SELECT * FROM t1;
5、嵌套查询
也称为子查询,通常用于FROM子句之后
嵌套查询语法
SELECT ... FROM (subquery)[AS] name ...
嵌套查询的常见规则
必须给定名称,因为FROM子句中每个表必须有表名列必须有唯一的名称,并且在外部查询中可以引用可以进行UNION、JOIN操作
Hive支持任意级别的子查询
6、列匹配正则表达式
Hive SELECT语句支持使用正则表达式指定列名称
凡是符合正则表达式规则的列名将被视作结果集中一列
列匹配正则表达式语法
SELECT'regex expr’FROM table reference
#需要设置"hive.support.quoted.identifiers”属性为"none”
7、各种关联操作
关联查询是指对多表进行联合查询
主要通过JOIN语句将多个表中的行组合查询hive JOIN仅支持等值连接
常见关联查询
内连接
外连接
交叉连接