首页 > 试题广场 >

以下hive sql语法正确的是

[单选题]
以下hive sql语法正确的是
  • select * from a inner join b on a.id<>b.id
  • select * from a where a.id in (select id from b)
  • select sum(a.amt) as total from a where a.total>20
  • select * from a inner join b on a.id=b.id
D
发表于 2019-05-21 21:13:05 回复(0)
hive下的SQL特点: 
    1.不支持等值连接,即不支持where a.id = b.id的连接方式,一般使用left join、right join 或者inner join替代。
    2.不能智能识别concat(‘;’,key),只会将‘;’当做SQL结束符号。
    3.不支持INSERT INTO 表 Values(), UPDATE, DELETE等操作,hive不支持将数据插入现有的表或分区,仅支持覆盖重写整张表。
    4.HiveQL中String类型的字段若是空(empty)字符串, 即长度为0, 那么对它进行IS NULL的判断结果是False,使用left join可以进行筛选行。hive中没有not null,当字段为null时,使用\n代替。
    5.不支持 ‘< dt <’这种格式的范围查找,可以用dt in(”,”)或者between替代。
发表于 2020-08-02 16:51:41 回复(0)