<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 華夢行 閱讀(194) 評論(0)  編輯  收藏 所屬分類: Oracle
    主站蜘蛛池模板: 久久久久免费看成人影片| 国产做国产爱免费视频| 1000部拍拍拍18免费网站| 亚洲∧v久久久无码精品| 日韩视频在线观看免费| 久久久久久久久亚洲| 亚洲精品免费在线观看| 亚洲一区二区影院| 91成年人免费视频| 在线综合亚洲欧洲综合网站| 免费人成在线视频| 亚洲aⅴ无码专区在线观看春色 | 天黑黑影院在线观看视频高清免费 | 在线观看免费宅男视频| 亚洲精品国产综合久久久久紧| 日韩精品视频免费在线观看| 国产区图片区小说区亚洲区| www.亚洲色图.com| 国产成人免费ā片在线观看老同学| 亚洲av无码不卡一区二区三区| 日本最新免费网站| 亚洲老熟女五十路老熟女bbw| 免费一级毛片正在播放| 国产精品午夜免费观看网站| 亚洲视频在线一区| 免费看美女让人桶尿口| 一级毛片**免费看试看20分钟| 亚洲AV无码精品色午夜在线观看| 亚洲免费观看在线视频| 久久亚洲中文无码咪咪爱| 美腿丝袜亚洲综合| 99国产精品永久免费视频| 香蕉97碰碰视频免费| 亚洲老妈激情一区二区三区| 国产精品免费观看| 美美女高清毛片视频黄的一免费 | 亚洲无人区午夜福利码高清完整版 | 无码 免费 国产在线观看91| 久久精品国产亚洲AV麻豆王友容| 我的小后妈韩剧在线看免费高清版| 美国免费高清一级毛片|