美文网首页大数据
Hive的查询操作(一)

Hive的查询操作(一)

作者: Dcl_Snow | 来源:发表于2019-12-27 17:17 被阅读0次

基本查询

  1. 全表数据查询:
> select * from testtable;
Hive查询01.png
  1. 特定列查询:
> select name from testtable;
Hive查询02.png
  • 语句大小写不敏感,可以全写在一行,也可以写在多行。
  • 关键字不能被缩写,也不能分行。
  • 使用缩进提高可读性,各子句一般分行写。
  1. 列别名:
> select name AS nickname from testtable;
Hive查询03.png
  • 重命名一个列,可以便于计算。
  • 写法上可以别名紧跟列名,也可以在列明和别名间使用关键字“AS”,推荐使用关键字写法。
  1. 算术运算符:
> select age +1 from testtable;
运算符 描述
A+B A加上B
A-B A减去B
A*B A乘以B
A/B A除以B
A%B A对B取余
A&B A和B按位与
A|B A和B按位或
A^B A和B按位异或
~A A按位取反
  1. 常用函数
  • count查询结果统计:
> select count(*) name from testtable;
Hive查询04.png
  • max查询最大值结果:
> select max(age) max_age from testtable;
Hive查询05.png
  • min查询最小值结果:
> select min(age) min_age from testtable;
Hive查询06.png
  • sum查询结果求和:
> select sum(age) sum_age from testtable;
Hive查询07.png
  • avg查询结果求平均值:
> select avg(age) avg_age from testtable;
Hive查询08.png
  1. Limit限制查询结果返回的行数:
> select * from testtable limit 2;
Hive查询18-limit.png

Where语句

  1. Where
> select * from testtable where age > 19;
Hive查询19-where.png

Where语句过滤不满足条件的结果。

  1. 比较运算符
操作符 支持的数据类型 描述
A=B 基本数据类型 A等于B返回TRUE,否则返回FALSE
A<=>B 基本数据类型 若A和B都为NULL,返回TRUE;其他与等号操作符结果一致;若任一为NULL则结果为NULL
A<>B,A!=B 基本数据类型 A或B为NULL,返回NULL;若A不等于B,返回TRUE,反之返回FALSE
A<B 基本数据类型 A或B为NULL,返回NULL;若A小于B,返回TRUE,反之返回FALSE
A<=B 基本数据类型 A或B为NULL,返回NULL;若A小于等于B,返回TRUE,反之返回FALSE
A>B 基本数据类型 A或B为NULL,返回NULL;若A大于B,返回TRUE,反之返回FALSE
A>=B 基本数据类型 A或B为NULL,返回NULL;若A大于等于B,返回TRUE,反之返回FALSE
A [NOT] BETWEEN B AND C 基本数据类型 若A、B或C任一为NULL,返回NULL;若A大于B并小于C,返回TRUE,反之返回FALSE;使用NOT关键字,效果相反
A IS NULL 所有数据类型 若A等于NULL,返回TRUE,反之返回FALSE
A IS NOT NULL 所有数据类型 若A不等于NULL,返回TRUE,反之返回FALSE
IN[NUM1,NUM2] 所有数据类型 使用IN运算符显示列表中的值
A [NOT] LIKE B STRING类型 B是一个SQL下的简单正则表达式,若A与其匹配的,返回TRUE,反之返回FALSE;B的表达式说明:‘x%’表示A必须以字母‘x’开头,‘%x’表示A必须以字母‘x’结尾,而‘%x%’表示A包含字母‘x’,可以位于开头、结尾或者字符串中间。若使用NOT关键字,效果相反
A RLIKE B, A REGEXP B STRING类型 B是一个正则表达式,若A与其匹配,返回TRUE,反之返回FALSE;匹配使用的是JDK中的正则表达式接口实现的,因为正则也依据其中的规则
> select * from testtable where age=20;
Hive查询09.png
> select * from testtable where age between 15 and 19;
Hive查询10.png
select * from testtable where name is null;
Hive查询11.png
> select * from testtable where age in (15,20);
Hive查询12.png
  1. Like和RLike
    查找name中以‘D’开头的名字:
> select * from testtable where name like 'D%';
Hive查询13.png

查找name中含有‘D’的名字:

> select * from testtable where name rlike '[D]';
Hive查询14.png
  1. 逻辑运算符
操作符 含义
AND 逻辑并
OR 逻辑或
NOT 逻辑否
> select * from testtable where name='Snow' and age>18;
Hive查询15.png
> select * from testtable where name='Snow' or age>18;
Hive查询16.png
> select * from testtable where age not in (19,20);
Hive查询17.png

相关文章

  • hive基础语法

    目录 Hive安装和启动 Hive表操作-分区表 Hive表操作-复杂类型操作 Hive 查询语句 Zepplin...

  • Hive高级查询

    Hive高级查询 查询操作group by、Order by 、Join 、distribute by 、Sort...

  • [译]Hive学习指南(四)

    查询和插入数据 Hive查询操作参见文档Select,插入操作参见文档Inserting data into Hi...

  • Hive的查询操作(一)

    基本查询 全表数据查询: 特定列查询: 语句大小写不敏感,可以全写在一行,也可以写在多行。 关键字不能被缩写,也不...

  • python3 windows使用pyhive连接Hive

    背景:工作需要,使用 python 操作 hive sql 查询数据使用。目标:使用pyhive连接上hive,并...

  • Java调用Hive-metastore接口

    需求:对hive的元数据进行查询,之前师姐的实现方法是通过对MySql的hive元数据数据库操作,进而实现查询。但...

  • hive进阶学习

    创建hive表常用语句: 修改hive表名称: 内部表 vs 外部表: 创建分区表以及补充操作: hive中查询介...

  • 096-BigData-24Hive查询排序分桶

    上一篇:095-BigData-23Hive分区及DML操作 六、查询 官方资料之查询(select) 6.1 基...

  • Hive高级查询操作

    Hive高级操作 1.使用LIKE、AS创建表,表重命名,添加、修改、删除列 表结构数据复制 根据已存在的表结构,...

  • Hive高级查询操作

    根据已经存在的表,使用as关键字,创建一个与查询结果字段一致的表,同时将查询结果数据插入到新表 只有student...

网友评论

    本文标题:Hive的查询操作(一)

    本文链接:https://www.haomeiwen.com/subject/ordmnctx.html