淺談Plsql 中inner join 和left join的使用


很多人認為inner join 和left join 很簡單,但是在實際的業務數據生成中,就會出現重復數據;還是淺談一下;

inner join (內連接):假如A表和B表做內連接操作:實際效果是取出兩者的公共部分數據;

 

create table TEST1
(
  bm_id VARCHAR2(18)
);
-- Create table
create table TEST2
(
  khh   VARCHAR2(18),
  khxm  VARCHAR2(50),
  xb    CHAR(1),
  bm_id VARCHAR2(50)
);
select t.*, '<>', a.* from TEST1 T INNER JOIN TEST2 A ON A.Bm_Id = T.Bm_Id;

查詢的結果如下圖:(會發現有2條數據,如果要取某些字段作為最后的數據,記得要用關鍵字distinct 去重,不然就產生重復數據、處理起來很麻煩)

left join (左連接):假如A表和B表做左連接操作:實際效果是取出以A表為基礎的和B表的公共部分,A表的數據會全部查詢出來;

實際效果如下圖:在實際業務中,需求邏輯有取出新增的數據,如圖我們就可以取出新增的數據;

小結:雖然inner join 和left join 很簡單,但是在實際應用中是很靈活的,在處理實際業務中,一定要清楚邏輯;

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM