hive知识点散记

在不切换数据库的前提下查询某一数据库下的所有表    show tables in 数据库名;

查询显示某一张表的元数据信息    desc formatted 表名;

查询当前数据库名称    select current_databases();

对查询结果进行去重    select distinct cname from stu;  【不写distinct(或者写all)默认为all】【当distinct后又多个字段时候为整体去重】

 

一些聚合函数——

AVG(column)    返回某列的平均值

COUNT(column)   返回某列的行数(不包括NULL值)

COUNT(*)     返回被选行数

MAX(column)    返回某列的最高值

MIN(column)     返回某列的最低值

SUM(column)   返回某列的(数值的)总和

 

可以用 as  来更改列名

 

使用group by 的时候注意 筛选条件中的值 要么是group by 分组的字段,要么是被聚合函数应用的字段

——为了避免歧义

 

使用聚合函数的时候无法使用where,需要用having代替

——where比聚合语句先执行,聚合语句比having先执行

 

order by 可用于 根据指定列对结果进行排序    默认使用升序(ASC)  降序为DESC

 

limit可用于对输出结果的数量进行限制   

输出前3行        select cname from stu limit 3

从第2行开始输出3行     select cname from stu limit 2,3    注意此时第一行定义为0【参考数组】

 

查询过程中的执行顺序——

from > where > group(含聚合) > having > order > select

 

关于join——

join 即为 inner join,同sql

  select c.cname s.sname

  from course c join stu s

  on c.sid = s.sid;

隐式表示法——  

  select c.cname s.sname

  from course c , stu s

  where c.sid = s.sid;

左连接  left join  左外连接

连接时,左边为全部数据,右边有则显示数据,无则显示null

 

posted @   椰子灰  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示