Hive数据库及表操作

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.WHERE 子句

 WHERE条件必须是布尔表达式,用于过滤结果集
 常用条件表达式

条件表达式操作数类型描述
A=B基本类型A与B相等返回TRUE,否则返回FALSE
A!=B基本类型A与B不相等返回TRUE,否则返回FALSE,
如果A或B为空返回NULL
A(>/</>=/<=)B基本类型比较运算符所返回的内容,符合条件返回TRUE,
否则返回FALSE
A IS [NOT] NULL所有类型A为空时返回TRUE,否则返回FALSE,可使用NOT反转
.字符串类型A为字符串,B为标准,如’abc’ like ‘a*’,
 ’abc’ like ‘a%’,’abc’ like ‘a__’均可返回TRUE,可使用NOT反转
A RLIKE B字符串类型使用正则表达式匹配,A为字符串,
B为正则表达式,匹配上返回TRUE
A AND B布尔类型A,B均为TRUE返回TRUE,否则返回FALSE
A OR B 布尔类型A或B为TRUE返回TRUE,否则返回FALSE
NOT A布尔类型A为FALSE,返回TRUE,否则返回FALSE
!A布尔类型同NOT A
A [NOT] IN (val1,val2,..)基本类型A如果出现在值集合中则返回TRUE,
未出现返回FALSE,可使用NOT反转

3.ALL、DISTINCT、LIMIT子句

  • ALL和DISTINCT子句表示是否返回重复行,默认是ALL,返回所有匹配行
  • DISTINCT子句可以返回删除结果集中的重复行
  • LIMIT子句用于限制SELECT语句返回的行数

4.CTE(common table expressions)

  • CTE也称公共表表达式
  • 它可以表示一个临时的结果集(表),该表由一个简单的查询指定,只要在范围内,均可共享该表
  • CTE语法
    WITH t1 AS(SELECT …) SELECT * FROM t1;
    

5.嵌套查询 

  • 也称为子查询,通常用于FROM子句之后
  • 嵌套查询的常见规则:
    • 必须给定名称,因为FROM子句中每个表必须有表名
    • 列必须有唯一的名称,并且在外部查询中可以引用
    • 可以进行UNION、JOIN操作
    • Hive支持任意级别的子查询
  • 嵌套查询语法
    SELECT … FROM (subquery) [AS] name …
    

6.列匹配正则表达式 

  • Hive SELECT语句支持使用正则表达式指定列名称
  • 凡是符合正则表达式规则的列名将被视作结果集中一列
  • 列匹配正则表达式语法
    SELECT ‘regex_expr’ FROM table_reference
    #需要设置”hive.support.quoted.identifiers”属性为”none”
    

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值