Hive(10):hive支持常用HQL语句

2024-05-24 11:32
文章标签 支持 常用 hive 语句 hql

本文主要是介绍Hive(10):hive支持常用HQL语句,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、过滤

(1)where:select,update,delete,insert into 

select * from emp where sal > 3000;

(2)limit  

 select * from emp limit 1;

(3)distinct,count/group by 

    select distinct deptno from emp;select  count(distinct empno) as uv  from emp;select min(sal),deptno from emp group by deptno;

(4)between and    

select * from emp where sal between 2000 and 3000;

(5)is null & is not null(/n,"")

    select ename from emp where comm is null;select ename from emp where comm is not null;

(6)having 
    分组语句之后

    select deptno,avg(sal) avg_sal from emp group by deptno having avg_sal > 2000;select deptno,avg from (select deptno,avg(sal) as avg from emp group by deptno) a where avg > 2000;

    注意:where和having可以在一条语句中执行,where先执行 

2、聚合函数

(1)count  

 select count(1) from emp;

(2)sum
(3)avg   

select avg(sal) avg_sal from emp;

(4)max
(5)min

select deptno,avg(sal),empno from emp group by deptno,empno;
select deptno,avg(sal),max(empno) from emp group by deptno;

3、group by分组(去重)

    select deptno,avg(sal) from emp group by deptno;select count(userid) as uv from log(日志表) group by userid

4、join

分类:

        等值join   inner  
        左join    left
        右join    right
        全join    full
        semi join 半关联
        map join 优化(大表和小表join的优化)

 

A:emp表
emp.empno       emp.ename       emp.job emp.mgr emp.hiredate    emp.sal emp.comm        emp.deptno
7369    SMITH   CLERK   7902    1980-12-17      800.0   NULL    20
7499    ALLEN   SALESMAN        7698    1981-2-20       1600.0  300.0   30
7521    WARD    SALESMAN        7698    1981-2-22       1250.0  500.0   30
7566    JONES   MANAGER 7839    1981-4-2        2975.0  NULL    20
7654    MARTIN  SALESMAN        7698    1981-9-28       1250.0  1400.0  30
7698    BLAKE   MANAGER 7839    1981-5-1        2850.0  NULL    30
7782    CLARK   MANAGER 7839    1981-6-9        2450.0  NULL    10
7788    SCOTT   ANALYST 7566    1987-4-19       3000.0  NULL    20
7839    KING    PRESIDENT       NULL    1981-11-17      5000.0  NULL    10
7844    TURNER  SALESMAN        7698    1981-9-8        1500.0  0.0     30
7876    ADAMS   CLERK   7788    1987-5-23       1100.0  NULL    20
7900    JAMES   CLERK   7698    1981-12-3       950.0   NULL    30
7902    FORD    ANALYST 7566    1981-12-3       3000.0  NULL    20
7934    MILLER  CLERK   7782    1982-1-23       1300.0  NULL    10B:dept表
dept.deptno     dept.dname      dept.loc
10      ACCOUNTING      NEW YORK
20      RESEARCH        DALLAS
30      SALES   CHICAGO
40      OPERATIONS      BOSTON

(1)等值join语句:

select e.empno,e.ename,d.deptno,e.sal from emp e join dept d on e.deptno=d.deptno;
【结果:】
e.empno e.ename d.deptno        e.sal
7369    SMITH   20      800.0
7499    ALLEN   30      1600.0
7521    WARD    30      1250.0
7566    JONES   20      2975.0
7654    MARTIN  30      1250.0
7698    BLAKE   30      2850.0
7782    CLARK   10      2450.0
7788    SCOTT   20      3000.0
7839    KING    10      5000.0
7844    TURNER  30      1500.0
7876    ADAMS   20      1100.0
7900    JAMES   30      950.0
7902    FORD    20      3000.0
7934    MILLER  10      1300.0

(2)左join语句:

select e.empno,e.ename,d.deptno,e.sal from emp e left join dept d on e.deptno=d.deptno;
【结果:】
e.empno e.ename d.deptno        e.sal
7369    SMITH   20      800.0
7499    ALLEN   30      1600.0
7521    WARD    30      1250.0
7566    JONES   20      2975.0
7654    MARTIN  30      1250.0
7698    BLAKE   30      2850.0
7782    CLARK   10      2450.0
7788    SCOTT   20      3000.0
7839    KING    10      5000.0
7844    TURNER  30      1500.0
7876    ADAMS   20      1100.0
7900    JAMES   30      950.0
7902    FORD    20      3000.0
7934    MILLER  10      1300.0

(3)右join语句:

select e.empno,e.ename,d.deptno,e.sal from emp e right join dept d on e.deptno=d.deptno;
【结果:】
e.empno e.ename d.deptno        e.sal
7782    CLARK   10      2450.0
7839    KING    10      5000.0
7934    MILLER  10      1300.0
7369    SMITH   20      800.0
7566    JONES   20      2975.0
7788    SCOTT   20      3000.0
7876    ADAMS   20      1100.0
7902    FORD    20      3000.0
7499    ALLEN   30      1600.0
7521    WARD    30      1250.0
7654    MARTIN  30      1250.0
7698    BLAKE   30      2850.0
7844    TURNER  30      1500.0
7900    JAMES   30      950.0
NULL    NULL    40      NULL

(4)全join语句:

select e.empno,e.ename,d.deptno,e.sal from emp e full join dept d on e.deptno=d.deptno;
【结果:】e.empno e.ename d.deptno        e.sal
7934    MILLER  10      1300.0
7839    KING    10      5000.0
7782    CLARK   10      2450.0
7876    ADAMS   20      1100.0
7788    SCOTT   20      3000.0
7369    SMITH   20      800.0
7566    JONES   20      2975.0
7902    FORD    20      3000.0
7844    TURNER  30      1500.0
7499    ALLEN   30      1600.0
7698    BLAKE   30      2850.0
7654    MARTIN  30      1250.0
7521    WARD    30      1250.0
7900    JAMES   30      950.0
NULL    NULL    40      NULL

 

这篇关于Hive(10):hive支持常用HQL语句的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/998285

相关文章

Python中pywin32 常用窗口操作的实现

《Python中pywin32常用窗口操作的实现》本文主要介绍了Python中pywin32常用窗口操作的实现,pywin32主要的作用是供Python开发者快速调用WindowsAPI的一个... 目录获取窗口句柄获取最前端窗口句柄获取指定坐标处的窗口根据窗口的完整标题匹配获取句柄根据窗口的类别匹配获取句

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

Python正则表达式语法及re模块中的常用函数详解

《Python正则表达式语法及re模块中的常用函数详解》这篇文章主要给大家介绍了关于Python正则表达式语法及re模块中常用函数的相关资料,正则表达式是一种强大的字符串处理工具,可以用于匹配、切分、... 目录概念、作用和步骤语法re模块中的常用函数总结 概念、作用和步骤概念: 本身也是一个字符串,其中

usb接口驱动异常问题常用解决方案

《usb接口驱动异常问题常用解决方案》当遇到USB接口驱动异常时,可以通过多种方法来解决,其中主要就包括重装USB控制器、禁用USB选择性暂停设置、更新或安装新的主板驱动等... usb接口驱动异常怎么办,USB接口驱动异常是常见问题,通常由驱动损坏、系统更新冲突、硬件故障或电源管理设置导致。以下是常用解决

C++使用printf语句实现进制转换的示例代码

《C++使用printf语句实现进制转换的示例代码》在C语言中,printf函数可以直接实现部分进制转换功能,通过格式说明符(formatspecifier)快速输出不同进制的数值,下面给大家分享C+... 目录一、printf 原生支持的进制转换1. 十进制、八进制、十六进制转换2. 显示进制前缀3. 指

MySQL 中的 LIMIT 语句及基本用法

《MySQL中的LIMIT语句及基本用法》LIMIT语句用于限制查询返回的行数,常用于分页查询或取部分数据,提高查询效率,:本文主要介绍MySQL中的LIMIT语句,需要的朋友可以参考下... 目录mysql 中的 LIMIT 语句1. LIMIT 语法2. LIMIT 基本用法(1) 获取前 N 行数据(

springboot项目中常用的工具类和api详解

《springboot项目中常用的工具类和api详解》在SpringBoot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖Spring原生... 目录1. Spring Framework 自带工具类(1) StringUtils(2) Coll

MySQL中动态生成SQL语句去掉所有字段的空格的操作方法

《MySQL中动态生成SQL语句去掉所有字段的空格的操作方法》在数据库管理过程中,我们常常会遇到需要对表中字段进行清洗和整理的情况,本文将详细介绍如何在MySQL中动态生成SQL语句来去掉所有字段的空... 目录在mysql中动态生成SQL语句去掉所有字段的空格准备工作原理分析动态生成SQL语句在MySQL

Go 语言中的select语句详解及工作原理

《Go语言中的select语句详解及工作原理》在Go语言中,select语句是用于处理多个通道(channel)操作的一种控制结构,它类似于switch语句,本文给大家介绍Go语言中的select语... 目录Go 语言中的 select 是做什么的基本功能语法工作原理示例示例 1:监听多个通道示例 2:带

mysql的基础语句和外键查询及其语句详解(推荐)

《mysql的基础语句和外键查询及其语句详解(推荐)》:本文主要介绍mysql的基础语句和外键查询及其语句详解(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录一、mysql 基础语句1. 数据库操作 创建数据库2. 表操作 创建表3. CRUD 操作二、外键