Oracle 在sql中选择空值

Oracle 在sql中选择空值,oracle,plsql,null,Oracle,Plsql,Null,我有两张桌子 xx_new.xx_online_registrations@appsread.prd.com奥列格 m_保修_sku MSK 在oreg表中,我有一些字段ora_warranty_id的空值,但在MSK表中,我没有空值,所以当我连接这两个表时,oreg的空值列会被过滤掉,有没有一种方法可以同时处理这些数据。我在做下面的qry,但不确定这是否正确 select * from ( select oreg.ora_warranty_id, mdh.warr

我有两张桌子

  • xx_new.xx_online_registrations@appsread.prd.com奥列格
  • m_保修_sku MSK
  • 在oreg表中,我有一些字段ora_warranty_id的空值,但在MSK表中,我没有空值,所以当我连接这两个表时,oreg的空值列会被过滤掉,有没有一种方法可以同时处理这些数据。我在做下面的qry,但不确定这是否正确

    select *
    from
        (
        select 
       oreg.ora_warranty_id,
       mdh.warranty_sku_num
        from
         mdhdba.m_warranty_sku mdh
             , xx_new.xx_online_registrations@appsread.prd.com oreg
        where
       mdh.warranty_sku_num= oreg.ora_warranty_id(+) -----ora_warranty_id from  xx_new.xx_online_registration table
       )
    where ora_warranty_id is  null -- oreg.ora_warranty_id
    
    希望这有帮助

        select *
    from
        (
        select 
       oreg.ora_warranty_id,
       mdh.warranty_sku_num
        from
         mdhdba.m_warranty_sku mdh
             , xx_new.xx_online_registrations@appsread.prd.com oreg
        where
       oreg.ora_warranty_id = mdh.warranty_sku_num(+) -----ora_warranty_id from  xx_new.xx_online_registration table
       )
    where ora_warranty_id is  null -- oreg.ora_warranty_id
    

    所以完全外部连接将只带来oreg.ora_保修_id表中的所有记录,我认为这也带来了MDH表中的所有记录,如果我错了,请纠正我。我只参与OREG表中的所有记录,因为MDH表中可能有soem记录不在OREG表中,我不需要这些记录。您需要OREG表中的所有记录。好吧,那就去做吧。现在请参考我的答案。现在oreg表将充当左表,您将从两个表以及oreg表中的所有记录中获得匹配的记录。如果你觉得这篇文章很有用,请投票支持。谢谢,这个查询是否与完全省略联接相同?