<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
    主站蜘蛛池模板: 亚洲愉拍一区二区三区| 免费一级毛片在线播放放视频| 国产免费AV片在线播放唯爱网| 中文字幕精品三区无码亚洲| 亚洲Av无码国产情品久久 | 波多野结衣亚洲一级| jzzijzzij在线观看亚洲熟妇| 亚洲无码黄色网址| 亚洲一区二区三区免费观看| 精品特级一级毛片免费观看| 久久精品国产亚洲av高清漫画 | 亚洲精品免费在线| 免费特级黄毛片在线成人观看| 91在线免费视频| 亚洲爆乳精品无码一区二区三区| 中文字幕看片在线a免费| 亚洲精品中文字幕麻豆| 亚洲国产精品综合久久网络| 2015日韩永久免费视频播放| 无码人妻一区二区三区免费视频| 亚洲欧洲校园自拍都市| 国产中文在线亚洲精品官网| 97碰公开在线观看免费视频| 亚洲国产精品美女久久久久| 亚洲AV无一区二区三区久久| 日韩精品亚洲专区在线观看| 99久久99这里只有免费费精品| 中文字字幕在线高清免费电影| 亚洲人成色777777老人头| 亚洲精品天天影视综合网| 亚洲综合精品网站在线观看| 欧洲精品免费一区二区三区 | 四虎影视精品永久免费| 一个人免费观看www视频| 亚洲精品国产精品乱码不99| 天天看片天天爽_免费播放| 97公开免费视频| 国产亚洲免费的视频看| 人妖系列免费网站观看| 亚洲AV无码一区二区三区网址 | 亚洲精品在线网站|