• 大数据学习——hive的sql练习题


    ABC三个hive表 每个表中都只有一列int类型且列名相同,求三个表中互不重复的数

    create table a(age int) 
    row format delimited
    fields terminated by ',';
    
    create table b(age int) 
    row format delimited
    fields terminated by ',';
    
    create table c(age int) 
    row format delimited
    fields terminated by ',';
    
    a.txt
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    b.txt
    2
    3
    11
    12
    14
    15
    16
    18
    35
    6
    7
    8
    
    c.txt
    1
    2
    3
    11
    5
    6
    7
    8
    20
    30
    40

    sql:

    select * from (select a.* from a full outer join b  on a.age=b.age full outer join c on a.age =c.age where  (a.age is not null and b.age is null and c.age is null) or  (b.age is not null and a.age is null and c.age is null) or (c.age is not null and a.age is null and b.age is null) union select b.* from b full outer join a  on a.age=b.age full outer join c on b.age =c.age where (a.age is not null and b.age is null and c.age is null) or  (b.age is not null and a.age is null and c.age is null) or (c.age is not null and a.age is null and b.age is null) union select c.* from c full outer join b  on c.age=b.age full outer join a on a.age =c.age where (a.age is not null and b.age is null and c.age is null) or  (b.age is not null and a.age is null and c.age is null) or (c.age is not null and a.age is null and b.age is null)) d where d.age is not null ;

    运行结果:

    sql:

    select age,count(age) as c1 from (select age from a union all select age from b union all select age from c) t_union group by age having c1=1;

  • 相关阅读:
    利用python求非线性方程
    迪士尼穷游攻略
    爬虫八之爬取京东商品信息
    爬虫七之分析Ajax请求并爬取今日头条
    爬虫五之Selenium
    爬虫4之pyquery
    前端传入 SQL 语句 到后端执行
    手写分页处理
    集合(Map,List)分组:多属性进行分组
    java 枚举类非常好的运用实例
  • 原文地址:https://www.cnblogs.com/feifeicui/p/10389302.html
Copyright © 2020-2023  润新知