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

相关文章

JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法

《JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法》:本文主要介绍JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法,每种方法结合实例代码给大家介绍的非常... 目录引言:为什么"相等"判断如此重要?方法1:使用some()+includes()(适合小数组)方法2

SpringBoot 获取请求参数的常用注解及用法

《SpringBoot获取请求参数的常用注解及用法》SpringBoot通过@RequestParam、@PathVariable等注解支持从HTTP请求中获取参数,涵盖查询、路径、请求体、头、C... 目录SpringBoot 提供了多种注解来方便地从 HTTP 请求中获取参数以下是主要的注解及其用法:1

MySQL中REPLACE函数与语句举例详解

《MySQL中REPLACE函数与语句举例详解》在MySQL中REPLACE函数是一个用于处理字符串的强大工具,它的主要功能是替换字符串中的某些子字符串,:本文主要介绍MySQL中REPLACE函... 目录一、REPLACE()函数语法:参数说明:功能说明:示例:二、REPLACE INTO语句语法:参数

Java Stream流以及常用方法操作实例

《JavaStream流以及常用方法操作实例》Stream是对Java中集合的一种增强方式,使用它可以将集合的处理过程变得更加简洁、高效和易读,:本文主要介绍JavaStream流以及常用方法... 目录一、Stream流是什么?二、stream的操作2.1、stream流创建2.2、stream的使用2.

MySQL ORDER BY 语句常见用法、示例详解

《MySQLORDERBY语句常见用法、示例详解》ORDERBY是结构化查询语言(SQL)中的关键字,隶属于SELECT语句的子句结构,用于对查询结果集按指定列进行排序,本文给大家介绍MySQL... 目录mysql ORDER BY 语句详细说明1.基本语法2.排序方向详解3.多列排序4.常见用法示例5.

解决hive启动时java.net.ConnectException:拒绝连接的问题

《解决hive启动时java.net.ConnectException:拒绝连接的问题》Hadoop集群连接被拒,需检查集群是否启动、关闭防火墙/SELinux、确认安全模式退出,若问题仍存,查看日志... 目录错误发生原因解决方式1.关闭防火墙2.关闭selinux3.启动集群4.检查集群是否正常启动5.

Oracle查询表结构建表语句索引等方式

《Oracle查询表结构建表语句索引等方式》使用USER_TAB_COLUMNS查询表结构可避免系统隐藏字段(如LISTUSER的CLOB与VARCHAR2同名字段),这些字段可能为dbms_lob.... 目录oracle查询表结构建表语句索引1.用“USER_TAB_COLUMNS”查询表结构2.用“a

MySQL常用字符串函数示例和场景介绍

《MySQL常用字符串函数示例和场景介绍》MySQL提供了丰富的字符串函数帮助我们高效地对字符串进行处理、转换和分析,本文我将全面且深入地介绍MySQL常用的字符串函数,并结合具体示例和场景,帮你熟练... 目录一、字符串函数概述1.1 字符串函数的作用1.2 字符串函数分类二、字符串长度与统计函数2.1

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致

解密SQL查询语句执行的过程

《解密SQL查询语句执行的过程》文章讲解了SQL语句的执行流程,涵盖解析、优化、执行三个核心阶段,并介绍执行计划查看方法EXPLAIN,同时提出性能优化技巧如合理使用索引、避免SELECT*、JOIN... 目录1. SQL语句的基本结构2. SQL语句的执行过程3. SQL语句的执行计划4. 常见的性能优