数据库查询

求教:找出零件号这一列中的零件号,条件是该零件号在上一级零件号列中未出现过,比如23798515在上级零件号列中出现过,则该零件不被查询出来,又比如23798516在上级零件号列中未出现过,则被查询出来。 不用not in (实际表的行数有上百万行).  谢谢

无标题.jpg

SQL ahuhwl 发布于 2022-10-18 08:44
1min目标场景问卷 立即参与
回答问题
悬赏:0 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
privacyLv5初级互助
发布于2022-10-18 09:34

1:给零件号和上级两件号加上索引

2:select * from part_list a where not exists (select '' from part_list b where a.零件号=b.上级零件号)

最佳回答
0
snrtuemcLv8专家互助
发布于2022-10-18 08:48

你这个,不用not in,那就只能

not exists

参考 https://blog.csdn.net/dreamy_zsy/article/details/114539575

最佳回答
0
3143511Lv5中级互助
发布于2022-10-18 08:55

这样试试:先求在上级中存在的,也就是用=号筛,然后再用求到数组,筛零件号列中不等于的,不知道这样速度咋样?

最佳回答
0
keyw1066Lv3见习互助
发布于2022-10-18 08:59(编辑于 2022-10-18 09:09)

用not exists

  • 5关注人数
  • 317浏览人数
  • 最后回答于:2022-10-18 09:34
    请选择关闭问题的原因
    确定 取消
    返回顶部