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的执行结果