Hive,相关任务查询作业

您所在的位置:网站首页 数据仓库hive的主要功能是什么 Hive,相关任务查询作业

Hive,相关任务查询作业

2023-05-21 12:33| 来源: 网络整理| 查看: 265

1、前提准备,在自己的hive中创建这些表:

课程表名:  kc  

表字段:kcid,kc,tcid

成绩表名: sc

表字段:sid,kcid,score

学生信息表名: student

表字段:sid,sname,sage,ssex

教师表名: teacher 

表字段:tcid,tcname

2、相关信息 2.1、 sc

01,01,80 01,02,90 01,03,99 02,01,70 02,02,60 02,03,80 03,01,80 03,02,80 03,03,80 04,01,50 04,02,30 04,03,20 05,01,76 05,02,87 06,01,31 06,03,34 07,02,89 07,03,98

2.2、 student

01,zhaolei,nan 02,qiandian,nan 03,sunfeng,nan 04,liyun, nan 05,zhoumei,nv 06,wulan,nv 07,zhengzhu,nv 08,wangju,nv

2.3、teacher

01,zhanglaoshi 02,lilaoshi 03,wanglaoshi

2.4、 kc

01,语文,02 02,数学,01 03,英语,03

3、习题讲解 3.1、习题1.查询每门课授课教师姓名

select kc.kc,teacher.tcname  from  teacher join kc on teacher.tcid=kc.tcid;

3.2、习题2查询"01"课程比"02“课程成绩高的学生的信息及课程分数(注意起别名,才能够区别表并进行三表联立)

答案1:select student.* ,sc1.score from sc sc1 join student on sc1.sid=student.sid and sc1.kcid='01'

join sc on sc.sid=student.sid and sc.kcid='02' where sc1.score>sc.score;

答案2:select s.*,s1.score 1score ,s2.score 2score from student s, sc s1, sc s2 where s.sid = s1.sid and s.sid= s2.sid and s1.kcid ='01' and s2.kcid = '02' and s1.score > s2.score;

3.3、习题3.查询平均成绩大于等于60分的同学的学生编号和学生姓名和平均成绩(注意group by 后面的字段和前面查询的字段相同、group by 和having知识点)

select sc.sid,student.sname,avg(sc.score) from sc join student on sc.sid=student.sid  group by sc.sid,student.sname having avg(sc.score)>=60;

3.4、习题4.查询平均成绩小于60分同学的学生编号姓名和平均成绩(注意group by 后面的字段和前面查询的字段相同、group by 和having知识点)

select sc.sid,student.sname,avg(sc.score) from sc join student on sc.sid=student.sid group by sc.sid,student.sname having avg(sc.score)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3