zoukankan      html  css  js  c++  java
  • 大数据学习——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;

  • 相关阅读:
    【交换】
    【数字对】
    【改造二叉树】
    【Begin】
    100以内所有质数的输出
    位运算符、|和||、&和&&的区别
    linux中vim编辑器三种模式及常用命令的使用
    静态代码块、构造代码块和构造函数的执行顺序
    字符乱码出现的原因及解决办法
    Springcloud-微服务
  • 原文地址:https://www.cnblogs.com/feifeicui/p/10389302.html
Copyright © 2011-2022 走看看