select a.* from a,b where a.tid=b.tagid(+) and b.b.tagid is null;
select b.* from b,a where b.tagid=a.tid(+) and a.tid is null;

解决方案 »

  1.   

     谢谢朋友,这个语句我也写出来了,我是这样写的SELECT  *  FROM   tbdata.DPF_S_PH_BOTTAG  a WHERE  NOT EXISTS 
              ( SELECT 1 FROM   tbdata.IMS_EPC_INFO   b  WHERE  a.tagid = b.tid ) ,但是我开发存储过程的时候,那些结论如何表示呢?是用case when 么?还是别的,这个想请教一下
              
      

  2.   


    declare
    i number;
    begin
    SELECT  count(*) into i  FROM   tbdata.DPF_S_PH_BOTTAG  a WHERE  NOT EXISTS 
              ( SELECT 1 FROM   tbdata.IMS_EPC_INFO   b  WHERE  a.tagid = b.tid );
    if i>0 then
    dbms_output.putline('在b表中不存在');
    end;
      

  3.   


    declarei number; beginSELECT  count(*) into i  FROM   tbdata.DPF_S_PH_BOTTAG  a WHERE  NOT EXISTS            ( SELECT 1 FROM   tbdata.IMS_EPC_INFO   b  WHERE  a.tagid = b.tid ); if i>0 thendbms_output.putline('在b表中不存在'); end if;end;
      

  4.   

    1.DECODE(value,search_value,result,default_value)对value与search_value进行比较。如果两个值相等,DECODE()返回result,否则返回default_value。DECODE()的每个参数都可以是列,字面值、函数或之查询。DECODE()是orcale以前所特有的一个函数,如果您在使用9i或更高版本,应该用case表达式来代替。
    2.CASE 表达式语法:CASE search_expression
      WHEN expression1 THEN result1
      …
      ELSE default_result
    END或者CASE 
      WHEN search_expression=expression1 THEN result1
      …
      ELSE default_result
    END