zoukankan      html  css  js  c++  java
  • sql记录查询重复注意事项(经验提升),in的用法和效率

    sql查询重复记录,使用:

    select * from dimappnamenew as appn
    where id
    in
    (
      select id
      from dimappnamenew group by packagename,storename,app_name having count(*)>1

    id是表的主键,三个属性映射后可以唯一对应id这个列,所以用id就行了。

    在做其他查询时,认真分析表内容,如果查询多个字段可以唯一对应一个字段,直接用这个字段作为外部对比,会加快效率。是指等号时候。

    注意,in在sql里定义的使用规则是,in(value1,value2,value3,。。。。。。),即,in 后比较的是具体的各种取值。

    在 in(select 子句)中,select子句 只能返回一个属性 :select 后只能跟表里的一个属性,返回这个属性的不同取值,才能用in做比较。

    in的执行效率很差。因为无法用上表的索引。如果用子查询,可以用exist的效率更好。

  • 相关阅读:
    Java--垃圾回收【转载】
    Android--adb常用命令
    Android--四大组件
    review代码,需要做些什么???
    安全测试基础 -- 概述【转载】
    python操作json
    python代码审查之flake8
    django模板语法
    python操作redis
    python发送邮件
  • 原文地址:https://www.cnblogs.com/cl1024cl/p/6205527.html
Copyright © 2011-2022 走看看