zoukankan      html  css  js  c++  java
  • Oracle sql"NOT IN"语句优化,查询A表有、B表没有的数据

    记录量大的情况下,采用NOT IN查询,那肯定会慢的无法接受。比如:

    SELECT A.*
      FROM TABLE_A
     WHERE A.USER_ID NOT IN (SELECT B.USER_ID FROM TABLE_B)

    目前找到的最优方法,可以秒查。示例如下,查询A表有、B表没有的DEPT_ID数据:

    SELECT A.*
     FROM TB_DEPT A, TB_DEPT_LEV B
    WHERE A.DEPT_ID = B.DEPT_ID(+)
    AND B.DEPT_ID IS NULL

    (+)号可以这样来理解: + 表示补充,即哪个表有加号,这个表就是匹配表。这里加号写在右表,左表就是全部显示,故是左连接。

    原文:http://blog.csdn.net/dengjh_business/article/details/35226227

  • 相关阅读:
    第六周 8.23-8.29
    Go-ethereum源码解析-Part I
    Go语言
    UVa Live 4725
    UVa 11134
    UVa 11100
    UVa 11627
    UVa Live 4794
    UVa LA 4254
    UVa 10905
  • 原文地址:https://www.cnblogs.com/azhqiang/p/4595419.html
Copyright © 2011-2022 走看看