select package_id result1  from PACKAGE where package_id not in
(select package_id  from PACKAGE where package_id in
  (select package_id from WORK_PLAN_SUM)
);

  select package_id  result2 from PACKAGE where package_id not in
     ( select package_id from WORK_PLAN_SUM )

测试数据:
PACKAGE表
PACKAGE_ID

数据
122

WORK_PLAN_SUM表
WORK_PLAN_SUM_ID(PK)
PACKAGE_ID(FK)
其它一点字段。

没数据



两条语句哪个短小精悍,哪个漂亮不用我说了吧。差点没被Oracle害死。因为我用的是第2句。我要的结果是MS SQL SERVER的那种。主要看Result2那个结果

我只能说在大学里上课那会儿。老师教的是标准sql。其他的不说了。免得又像上次列举Oracle的思维方式(1)那样又挨骂。我承认我对sql的认识能力只能达到ms sql server的思维水平。在这里我只是说一下我在实际使用中碰到的现像。


Oracle的执行结果





MS sql server的执行结果

posted on 2004-06-14 16:07  使名扬  阅读(981)  评论(3编辑  收藏  举报