千家信息网

如何实现和not in子句

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,如何实现和not in子句,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。hive实例讲解实现in和not in子句目前hive不支持
千家信息网最后更新 2026年11月01日如何实现和not in子句

如何实现和not in子句,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。


hive实例讲解实现in和not in子句

目前hive不支持 in或not in 中包含查询子句的语法,所以只能通过left join实现。

假设有一个登陆表login(当天登陆记录,只有一个uid),和一个用户注册表regusers(当天注册用户,字段只有一个uid),这两个表都包含一个字段,uid。

in查询

如果要查询当天登陆的注册用户,需要用in查询,hive sql如下:

select login.uid from login left outer join regusers on login.uid=regusers.uid where regusers.uid is not null

如果login表和regusers表按天分区,字段是dt,那么查询2013年1月1号当天登陆的注册用户,hive sql如下:

select login.uid from login day_login left outer join (select uid from regusers where dt='20130101') day_reguserson day_login.uid=day_regusers.uid where day_login.dt='20130101' and day_regusers.uid is not null

not in查询

如果要查询当天登陆的老用户(这里假设非当天注册用户就是老用户),需要用not in查询,hive sql如下:

select login.uid from login left outer join regusers on login.uid=regusers.uid where regusers.uid is null;

如果login表和regusers表按天分区,字段是dt,那么查询2013年1月1号当天登陆的老用户,hive sql如下:

select login.uid from login day_login left outer join (select uid from regusers where dt='20130101') day_reguserson day_login.uid=day_regusers.uid where day_login.dt='20130101' and day_regusers.uid is null;

关于如何实现和not in子句问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

查询 用户 登陆 子句 字段 问题 只有 更多 帮助 解答 易行 简单易行 两个 内容 实例 小伙 小伙伴 就是 方法 注册表 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网扶贫科技 互联网科技卖菜 金融科技与互联网金融 齐家互联网科技 互联网金融科技创新 宜安科技 互联网金融 金融科技和互联网金融 互联网 科技馆 汉立互联网科技有限公司联系电话 茂名市互联网科技产业园 特约风豹互联网科技为什么扣费 互联网数据科技专业 中和天地互联网科技有限公司 广东工业互联网大赛深圳学泰科技 银川新华互联网科技学校是国营吗 马化腾互联网科技教学 恒生科技指数 中概互联网 互联网科技创新创业项目 互联网科技创新方面的资料 互联网企业和网络科技有限公司 互联网巨头科技公司 美国互联网黑科技 火传媒上海互联网科技 大白互联网科技 人人互联网科技是培训 来此购互联网科技有限公司 互联网科技圈年度人物 互联网第三次科技革命特征 伍佰万互联网科技怎么赚钱 互联网科技职业技能培训学校
0