<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-295  評論-26  文章-1  trackbacks-0
    select S_10994_1_SYS_MODELTYPE.nextval,a.typeid,'SYS','Mail_Forward','郵件轉發模板','Mail Forward Model' from
    bse_organization a where not exists (select orgtypeid from SYS_MODELTYPE b where b.orgtypeid=a.typeid and modelcode ='Mail_Forward')
    --

    select S_10994_1_SYS_MODELTYPE.nextval,typeid,'SYS','Mail_Forward','郵件轉發模板','Mail Forward Model' from
    bse_organization where typeid not in (
    select orgtypeid from SYS_MODELTYPE where modelcode='Mail_Forward'
    )

    請注意not in 邏輯上不完全等同于not exists,如果你誤用了not in,小心你的程序存在致命的BUG:


    請看下面的例子:
    create table t1 (c1 number,c2 number);
    create table t2 (c1 number,c2 number);

    insert into t1 values (1,2);
    insert into t1 values (1,3);
    insert into t2 values (1,2);
    insert into t2 values (1,null);

    select * from t1 where c2 not in (select c2 from t2);
    no rows found
    select * from t1 where not exists (select 1 from t2 where t1.c2=t2.c2);
    c1 c2
    1 3

    正如所看到的,not in 出現了不期望的結果集,存在邏輯錯誤。如果看一下上述兩個select語句的執行計劃,也會不同。后者使用了hash_aj。
    因此,請盡量不要使用not in(它會調用子查詢),而盡量使用not exists(它會調用關聯子查詢)。如果子查詢中返回的任意一條記錄含有空值,則查詢將不返回任何記錄,正如上面例子所示。
    除非子查詢字段有非空限制,這時可以使用not in ,并且也可以通過提示讓它使用hasg_aj或merge_aj連接。



    大盤預測 國富論
    posted on 2007-10-11 16:51 華夢行 閱讀(183) 評論(0)  編輯  收藏 所屬分類: Oracle
    主站蜘蛛池模板: eeuss影院免费直达入口| 免费jjzz在线播放国产| 巨胸喷奶水视频www免费视频| 亚洲乱码卡三乱码新区| 久久亚洲国产中v天仙www| 国产成人免费片在线观看| 18勿入网站免费永久| 免费人成网站在线观看不卡| 免费无码专区毛片高潮喷水| 亚洲熟妇无码AV| 亚洲小说区图片区| 亚洲AV永久无码精品| 亚洲国产精品尤物yw在线| 大陆一级毛片免费视频观看| 免费观看美女用震蛋喷水的视频 | 免费在线看黄的网站| 一级A毛片免费观看久久精品| 亚洲JIZZJIZZ妇女| 国产成人精品日本亚洲直接| 亚洲视频小说图片| 久久精品国产亚洲| 亚洲成AV人片在线播放无码| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 久久久久久亚洲精品无码| 亚洲人成人77777网站不卡| 97se亚洲综合在线| 亚洲视频一区二区三区| 亚洲精品国产成人专区| 亚洲色图国产精品| 亚洲综合自拍成人| 久久夜色精品国产噜噜噜亚洲AV | 8x8×在线永久免费视频| 91热久久免费精品99| 99re6在线视频精品免费下载| 国产免费阿v精品视频网址| 伊人久久大香线蕉免费视频| 国产性生大片免费观看性| 全黄大全大色全免费大片| 99re6在线视频精品免费| 三年在线观看免费观看完整版中文| 成人无码视频97免费|