建表相关语句在此,具体的数据自己制作吧

create table student(Sno int,Sname string,Sex string,Sage int,Sdept string)row format delimited fields terminated by ','stored as textfile;
create table course(Cno int,Cname string) row format delimited fields terminated by ',' stored as textfile;
create table sc(Sno int,Cno int,Grade int)row format delimited fields terminated by ',' stored as textfile;

第一题:理解distribute by 分区。sort by 和 order by的区别

1.0 查询学生信息,按性别分区,在分区内按年龄有序
select * from student order by sex, sage; set mapred.reduce.tasks=2;
select * from student distribute by sex sort by sage;
distribute by 是按照指定的字段对数据进行划分到不同的reduce中 第一的语句,我们只是按照性别和年龄排序
第二个,我们设置了2个reduce,并且按照性别分区。sort by sage; 理解sort by和order by的区别。order by是全局排序。而sort by是每个分区内部排序。 95021    周二    男    17    MA
95015    王君    男    18    MA
95005    刘刚    男    18    MA
95011    包小柏    男    18    MA
95004    张立    男    19    IS
95010    孔小涛    男    19    CS
95022    郑明    男    20    MA
95001    李勇    男    20    CS
95016    钱国    男    21    MA
95020    赵钱    男    21    IS
95013    冯伟    男    21    CS
95006    孙庆    男    23    CS
95017    王风娟    女    18    IS
95009    梦圆圆    女    18    MA
95008    李娜    女    18    CS
95014    王小丽    女    19    CS
95018    王一    女    19    IS
95019    邢小丽    女    19    IS
95002    刘晨    女    19    IS
95007    易思玲    女    19    MA
95012    孙花    女    20    CS
95003    王敏    女    22    MA

第二题,理解夺标关联join的使用,注意join的顺序

2.0 查询学生的姓名、课程名称和分数
select student.sname,course.cname,sc.grade
from student
join sc on student.sno = sc.sno
join course on sc.cno = course.cno join后面跟要连接的表,on后面跟连接的条件。
on和where是不同的
  -on指的连接条件
  -where是表链接后,再进一步按照where指定条件筛选
--------------------------------
李勇    数据库    81
李勇    数学    85
李勇    信息系统    88
李勇    操作系统    70
刘晨    数学    90
刘晨    信息系统    80
刘晨    操作系统    71
刘晨    数据结构    60
王敏    数据库    82
王敏    信息系统    90
王敏    数据结构    100
张立    数据库    80
张立    数学    92
张立    操作系统    91
张立    数据结构    70
刘刚    数据库    70
刘刚    数学    92
刘刚    信息系统    99
刘刚    数据处理    87
孙庆    数据库    72
孙庆    数学    62
孙庆    信息系统    100
孙庆    操作系统    59
孙庆    数据结构    60
孙庆    数据处理    98
易思玲    信息系统    68
易思玲    操作系统    91
易思玲    数据结构    94
易思玲    数据处理    78
李娜    数据库    98
李娜    信息系统    89
李娜    数据处理    91
梦圆圆    数学    81
梦圆圆    操作系统    89
梦圆圆    数据处理    100

第三题,请理解on和where的区别

查询选修2号课程且成绩在90分以上的所有学生的姓名和分数
select student.sname, sc.grade
from student
join sc on student.sno=sc.sno
where sc.cno=2 and sc.grade>90;
on和where是不同的
  -on指的连接条件
  -where是表链接后,再进一步按照where指定条件筛选
上面语句的执行过程如下 1,执行from从student抽取所有数据
2,执行join和sc按照on condition的条件拼接成一个表。不理解的同学,把到此的语句打出来看看拼接后的样子
3,从2已经拼接后的临时表格中,按照where的sc.cno=2 and sc.grade>90;条件筛选数据
4,从3筛选后的数据中select所需要的字段 学习sql理解上面过程是十分重要的,这其实只是单纯的sql和hive没有太大关联。理解这个过程也就理解了。on和where的区别。

第四题,理解左外连接,其实就是sql语法

查询所有学生的姓名,如果在成绩表中有成绩,则输出成绩表中的课程号
select student.sname, sc.cno
from student
left outer join sc on student.sno = sc.sno;
左向外联接的结果集包括  LEFT OUTER子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。      

HIVE-几道经典的hive题目的更多相关文章

  1. 几道经典的SQL笔试题目

      几道经典的SQL笔试题目(有答案) (1)表名:购物信息 购物人      商品名称     数量 A            甲          2 B            乙        ...

  2. 【甘道夫】Hive 0.13.1 on Hadoop2.2.0 + Oracle10g部署详细解释

    环境: hadoop2.2.0 hive0.13.1 Ubuntu 14.04 LTS java version "1.7.0_60" Oracle10g ***欢迎转载.请注明来 ...

  3. C语言100道经典算法

    经典的100个c算法 C语言的学习要从基础,100个经典的算法真不知道关于语言的应该发在那里,所以就在这里发了,发贴的原因有2个,第一个,这东西非常值得学习,第二个,想..........嘿嘿,大家应 ...

  4. 50道经典的JAVA编程题(汇总)

    这是一次不可思议的编程历程.从2013年的最后一天开始做这份题,中间连续好几天的考试,包括java考试(今天考试的JAVA编程题),直到今天完成了.挺有成就感的...废话不多说了,来电实质性的吧. 全 ...

  5. 50道经典的JAVA编程题(46-50)

    50道经典的JAVA编程题(46-50),最后五道题了,这是一个美妙的过程,编程真的能让我忘掉一切投入其中,感觉很棒.今天下午考完微机原理了,大三上学期就这样度过了,这学期算是解放了,可是感觉我还是没 ...

  6. 50道经典的JAVA编程题(41-45)

    50道经典的JAVA编程题(41-45),苦逼的程序猿,晚上睡不着了编程吧~今天坚持做10道题!发现编程能是我快乐...O(∩_∩)O哈哈~能平静我烦乱的心,剩下5道题留到考试完了再做吧!该睡觉了.. ...

  7. 50道经典的JAVA编程题(36-40)

    50道经典的JAVA编程题(36-40),今天晚上心情压抑,不爽,继续做题,管它明天考试,我继续我的java,一个周末都在看微机原理看得的很头疼啊~明天该挂科就挂吧,不在乎了~~~ [程序36] Ar ...

  8. 50道经典的JAVA编程题(31-35)

    50道经典的JAVA编程题(31-35),今天考完了java,在前篇博客里面贴出了题了,见:<今天考试的JAVA编程题>.考完了也轻松了,下个星期一还考微机原理呢,啥都不会,估计今天就做到 ...

  9. 50道经典的JAVA编程题(26-30)

    50道经典的JAVA编程题(26-30),这么晚了,早点睡了要,明早8点考java祝我好运吧!!!晚安~ [程序26]Ex26.java(跳过了,好没意思的题啊)题目:请输入星期几的第一个字母来判断一 ...

随机推荐

  1. zookeeper部署搭建

    zookeeper教程 1.先在linux系统中安装jdk并配置环境变量,可以参考下面的链接1 2.下载安装zookeeper软件 教程参考: 链接1:http://www.linuxidc.com/ ...

  2. 20145240 《Java程序设计》第五次实验报告

    20145240 <Java程序设计>第五次实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1452 指导教师:娄嘉鹏 实验日期:2016.05.06 实验 ...

  3. nodejs往文件写入内容代码

    const fs = require("fs"); // fs.wirteFile有三个参数 // 1,第一个参数是要写入的文件路径 // 2,第二个参数是要写入得内容 // 3, ...

  4. INSPIRED启示录 读书笔记 - 第34章 恐惧、贪婪、欲望

    消费者购买产品大多源于情感需求 企业级消费者出于恐惧和贪婪购买产品:如果不买这款产品,竞争对手会超过我,黑客会攻破我的防火墙,客户将弃我而去:如果买了,会赚得更多,省得更多 大众消费者购买产品的原因更 ...

  5. codeforces 353D 递推 找规律

    题意:一组男生女生在排队,每秒钟所有排在女生左边的男生与她相邻的女生交换位置,求女生全部换到男生前面的时间. 思路: 解法一:队伍最前面的那些女生不需要交换,后面的女生有两种状态:畅通无阻,前一个女生 ...

  6. 利用paramiko获取上传下载远程服务器的资源信息

    # -*- coding: utf-8 -*- import paramikohostname='192.168.76.10'username='root'password='123456'param ...

  7. Javascript中一些常用的宽与高

    在使用javascript制作一些网络特效时,往往要根据显示网页的显示器的一些参数展开进行.所以一些关于显示器的参数如何得到显得十分重要.下面是一些常用的显示器参数,不妨好好记一下吧! 网页可见区域宽 ...

  8. JavaScript实现的功能

    1.js事件阻止冒泡的应用 1)问题描述: 单机除了这两个元素,触发事件,: 可用阻止事件冒泡 2)解决方法: $('body').click(function(e){ $('#searchTree' ...

  9. jquery开发js插件

    1.需要掌握的知识点 1)(function($){...}(jQuery)):实际上就是匿名函数并且函数用()阔起来,形成闭包,外界对其内部函数没有影响 $(function(){…});   jQ ...

  10. SQL之merge into(转)

    简介 Merge关键字是一个神奇的DML关键字.它在SQL Server 2008被引入,它能将Insert,Update,Delete简单的并为一句.MSDN对于Merge的解释非常的短小精悍:”根 ...