概述
**Hive命令实战操作之 – DQL命令
@DQL – Data Query Language 数据查询语言
提示:本文章内容取自来源: 拉勾教育大数据高薪训练营
文章目录
- 前言
- HQL操作之--DQL命令
- 第 1 节 基本查询
- 第 2 节 where子句
- 第 3 节 group by子句
- 第 4 节 表连接
- 第 5 节 排序子句
- 5.1 全局排序(order by)
- 5.2 内部排序(sort by)
前言
提示:本文章对于初学者准备,希望对大家有所帮助。如果有什么建议和疑问,请留言给我,我会不断完成完善。
HQL操作之–DQL命令
第 1 节 基本查询
1.全表查询
select * from emp;
2.选择特定列查询
select ename, sal, comm from emp;
3. 使用函数
select count(*) from emp;
select sum(sal) from emp;
select max(sal) from emp;
select min(sal) from emp;
select avg(sal) from emp;
4. 使用limit子句限制返回的行数
select * from emp limit 3;
第 2 节 where子句
1select * from emp
where sal > 2000;
注:
1.where 子句中不能使用列的别名;
2.where子句中会涉及到较多的比较运算 和 逻辑运算;
3.where子句针对表中的数据发挥作用;having针对查询结果(聚组以后的结果)发挥作用
4.where子句不能有分组函数;having子句可以有分组函数
第 3 节 group by子句
GROUP BY语句通常与聚组函数一起使用,按照一或多个列对数据进行分组,对每个组进行聚合操作。
计算emp表每个部门的平均工资
select deptno, avg(sal)
from emp
group by deptno;
计算emp每个部门中每个岗位的最高薪水
select deptno, job, max(sal)
from emp
group by deptno, job
求每个部门的平均薪水大于2000的部门
select deptno, avg(sal)
from emp
group by deptno
having avg(sal) > 2000;
注:having只用于group by分组统计之后
第 4 节 表连接
Hive支持通常的SQL JOIN语句。默认情况下,仅支持等值连接,不支持非等值连
接。
- 内连接: [inner] join
- 外连接 (outer join)
- 左外连接。 left [outer] join,左表的数据全部显示
- 右外连接。 right [outer] join,右表的数据全部显示
- 全外连接。 full [outer] join,两张表的数据都显示
-- 内连接
select * from u1 join u2 on u1.id = u2.id;
-- 左外连接
select * from u1 left join u2 on u1.id = u2.id;
-- 右外连接
select * from u1 right join u2 on u1.id = u2.id;
-- 全外连接
select * from u1 full join u2 on u1.id = u2.id;
第 5 节 排序子句
5.1 全局排序(order by)
order by 子句出现在select语句的结尾;order by执行全局排序,只有一个reduce;
order by子句对最终的结果进行排序;
默认使用升序(ASC);可以使用DESC,跟在字段名之后表示降序;
-- 多列排序
select empno, ename, job, mgr, sal + nvl(comm, 0) salcomm,
deptno
from emp
order by deptno, salcomm desc;
-- 排序字段要出现在select子句中。以下语句无法执行(因为select子句中缺少
deptno):
select empno, ename, job, mgr, sal + nvl(comm, 0) salcomm
from emp
order by deptno, salcomm desc;
5.2 内部排序(sort by)
sort by为每个reduce产生一个排序文件,在reduce内部进行排序,得到局部有序的结果;
-- 设置reduce个数
set mapreduce.job.reduces=2;
-- 按照工资降序查看员工信息
select * from emp sort by sal desc;
最后
以上就是快乐盼望为你收集整理的数据仓库工具 hive的入门(四)HQL操作之--DQL命令前言HQL操作之–DQL命令的全部内容,希望文章能够帮你解决数据仓库工具 hive的入门(四)HQL操作之--DQL命令前言HQL操作之–DQL命令所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复