首页 > 试题

rlike

更新时间:2025-12-26 10:54:34 阅读: 评论:0

3ce口红-拼音学习班


2023年3月5日发(作者:u盘有病毒怎么办)

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

上一篇:开会怎么发言
下一篇:翻检
标签:rlike
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 实用文体写作网旗下知识大全大全栏目是一个全百科类宝库! 优秀范文|法律文书|专利查询|