zoukankan      html  css  js  c++  java
  • hive查询语法(2)

    9.Group by语句

    group by语句通常会和聚合函数一起使用,按照一个或者多个列队进行分组,然后对每个分组进行聚合操作

    注:和sql语句不同的是,select后面的字段必须和group by后面的字段保持一致。

    错误写法:

    此查询语句的结果:

     10.having语句

    having语句和where语句不同:

    where语句针对表中的列发挥作用,having语句针对查询结果中的列发挥作用,进行筛选

    where与疾病后面不能写分组语句,having后面可以

    例:求学生中平均成绩大于85的人

    实现思路:先根据学号对学生进行分组,求每个分组的平均成绩,再使用having语句对结果进行筛选,筛选出平均成绩大于85的人。

    11.join语句

    join语句主要用于实现多表联合查询,hive支持通常SQL语句中的join语句,但只支持等值查询,即联合查询的条件值必须相等。

    内连接:只有进行连接的两个表中,都存在与连接条件相匹配的数据才会被保留下来。

    select * from teacher t inner join course c on t.t_id=c.t_id

    只有教师表中的教师id与课程表中教师id相等的数据才会被保留下来。

    左外连接:先把左表的数据输出,如果右表有匹配的数据则输出,如果没有则补一个NULL

     

    右外连接:与左外连接相反

    语法为:将left换为right

    注:左表为join左边的表,右表为join右边的表

    多表连接:连接n个表,至少需要n-1个连接条件。

  • 相关阅读:
    当年的笔记_apache配置虚拟主机
    sqlserver 调优(三)
    bat命令自用其(一)
    Always On主辅延迟相关描述
    sqlserver中常用的windows命令行的操作
    mysql复制以及一主多从等常见集群概述
    sqlserver 调优(二)
    sqlserver 获取实例上用户数据库的数据字典
    sqlserver事务隔离小结
    mysql 慢查询的小结
  • 原文地址:https://www.cnblogs.com/wangzhaojun1670/p/13569819.html
Copyright © 2011-2022 走看看