cawhen⼦查询_hive_5数据查询语法
语句
1.1指定列
*fromdealer_leads;
leads_id,dealer_id,create_timefromdealer_leads;
_id,_id,_timefromdealer_lead;
--2和3是等价的
当选择的列是数据集合类型时,Hive会使⽤json语法输出,如数组类型[...],jsonmap格式{...},hive可以引⽤数据类型中的元素
lectname,subordinates[0]fromemployees;
lectname,subordinates['StateTaxes']fromemployees;
lectname,omemployees;
使⽤正则表达式指定列
lectsymbol,'price.*'fromstocks;
--选择symbol列,和所有列名以price为前缀的列
1.2函数列
lectcompanyid,upper(host),UUID(32)fromdealer_action_log;
--可以使⽤hive⾃带的函数,也可以使⽤⾃定义函数,如upper()是⾃带函数,UUID()是⾃定义函数
hive内置函数可参考官⽅⽂档:
中⽂⽂档:
Hive函数⼤全_wisgood的专栏-CSDN博客_hive函数
1.3算数运算列
lcetcompanyid,urid,(companyid+urid)assumintfromdealer_action_log;
语句
lect*fromdealer_action_loglimit10;
3.嵌套lect语句
from(
lcetupper(name),salary,deductions['FederalTaxes']asfed_taxes,round(salary*(1-deductions['FederalTaxes']))assalary_minus_fed_taxes
fromemployees)e
,_minus_fed_taxes
_minus_fed_taxes>70000;
...when...then语句
ca
whensalary<50000then'low'
whensalary>=50000andsalary<70000then'middle'
whensalary>=70000andsalary<100000then'hight'
el'veryhignt'
endasbracketfromemployee;
语句
使⽤WHERE⼦句,将不满⾜条件的⾏过滤掉
WHERE⼦句紧随FROM⼦句
lect*fromemployeeswherecountry='us'andstate='CA';
where筛选操作:
6.⼦查询:
Hive对⼦查询的⽀持有限,只允许在from后⾯出现。⽐如:
--只⽀持如下形式的⼦查询
lect*from(
lectdealerid,dealernamefromdealer_id='10595'
)a;
--⼦查询必须有名字(别名),否则报错
⼦查询相当于表名,使⽤from关键字需要指定真实表名或表别名。
hive不⽀持union,只⽀持unionall
⼦查询中使⽤unionall时,在⼦查询⾥不能使⽤count、sum等聚合函数
两表直接进⾏unionall可以使⽤count、sum等聚合函数
两张表进⾏unionall取相同的字段名称,可正常输出指定数据内容,且结果为两张表的结果集
与Rlike
1)使⽤LIKE运算选择类似的值
2)选择条件可以包含字符或数字:
%代表零个或多个字符(任意个字符)。
_代表⼀个字符。
3)RLIKE⼦句是Hive中这个功能的⼀个扩展,其可以通过Java的正则表达式这个更强⼤的语⾔来指定匹配条件
#查找以2开头薪⽔的员⼯信息
lect*fromempwheresalLIKE'2%';
#查找第⼆个数值为2的薪⽔的员⼯信息
lect*fromempwheresalLIKE'_2%';
#查找薪⽔中含有2的员⼯信息
lect*fromempwheresalRLIKE'[2]';
y语句
groupby语句通常会和聚合函数⼀起使⽤,按照⼀个或者多个列队结果进⾏分组,然后对每个组执⾏聚合操作
#计算emp表每个部门的平均⼯资
,avg()avg_;
#计算emp每个部门中每个岗位的最⾼薪⽔
,,max()max_,;
语句
having与where不同点
(1)where针对表中的列发挥作⽤,查询数据;having针对查询结果中的列发挥作⽤,筛选数据。
(2)where后⾯不能写分组函数,⽽having后⾯可以使⽤分组函数。
(3)having只⽤于groupby分组统计语句
#求每个部门的平均薪⽔⼤于2000的部门
lectdeptno,avg(sal)avg_salfromempgroupbydeptnohavingavg_sal>2000;
本文发布于:2023-03-05 10:42:37,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/zhishi/e/action/ShowInfo.php?classid=88&id=4065
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:rlike.doc
本文 PDF 下载地址:rlike.pdf
| 留言与评论(共有 0 条评论) |