Hive的查询与函数

基本查询:

算数运算符
运算符 描述
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):hive (jds)> select count(1) cnt from emp;

​ 2、求工资的最大值(max):hive (jds)> select max(sal) max_sal from emp;

​ 3、求工资的最小值(min):hive (jds)> select min(sal) min_sal from emp;

​ 4、求工资的总和(sum):hive (jds)> select sum(sal) sum_sal from emp;

​ 5、求工资的平均值(avg):hive (jds)> select avg(sal) avg_sal from emp;

Limit 语句

​ 用于限制返回的行数:hive (jds)> select sal from emp limit 5; //返回前五行

Where 语句:

​ 将不满足的条件过滤掉,Where 子句紧随 from 子句。 //只有 where 子句时不走 MR

​ 查询薪水大于 1000 的所有员工:hive (jds)> select ename,sal from emp where sal>1000;

比较运算符
操作符 支持的数据类型 描述
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(数值1, 数值2) 所有数据类型 使用 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中的正则表达式接口实现的,因为正则也依据其中的规则。例如,正则表达式必须和整个字符串A相匹配,而不是只需与其字符串匹配。

案例

​ (1)查询出薪水等于5000的所有员工

hive (default)> select * from emp where sal =5000;

​ (2)查询工资在500到1000的员工信息,注意between … and 是闭区间

hive (default)> select * from emp where sal between 500 and 1000;

​ &#x

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值