程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> oracle連接查詢 內連接 外連接及全連接

oracle連接查詢 內連接 外連接及全連接

編輯:Oracle數據庫基礎

oracle中的連接可分為,內連接(inner join)、外連接(outer join)、全連接(full join),不光是Oracle,其他很多的數據庫也都有這3種連接查詢方式

  內連接inner join,這是我們經常用的查詢方式,比如select * from A,B where A.field1=B.fIEld2,這樣的連接就是內連接,內連接查詢只能查詢出匹配的記錄,匹配不上的記錄時無法查詢出來的

  外連接outer join,可進一步分為左外連接left outer join和右外連接right outer join,具體說一下左外連接和右外連接查詢的特點,有2個表,部門表和職工表,一個部門下可以有多個職工,一個職工只能對應一個部門,所以部門和職工時1對多的關系,設計表如下

  部門表dept

  deptid            deptName

  1                      開發部

  2                      財務部

  3                      人事部

  職工表employee

  eid         deptid      eName

  1               1            劉德華

  2               1            張惠妹

  3                5           張學友

  比如現在有需求,要進行部門表和職工表的關聯查詢,並要查詢出所有的部門信息,這時候,下面的左連接查詢就能夠查詢出想要的結果,左連接就是以left join前面的表為主表,即使有些記錄關聯不上,主表的信息能夠查詢出來的

  select * from dept left outer join employee on dept.deptid=employee.deptid

  比如現在有需求,要進行部門表和職工表的關聯查詢,並要查詢出所有的職工信息,這時候,下面的右連接查詢就能夠查詢出想要的結果,右連接就是以right join後面的表為主表,即使有些記錄關聯不上,主表的信息能夠查詢出來

  select * from dept right outer join employee on dept.deptid=employee.deptid

  總之,外連接就是在關聯不上的時候,把其中的部分信息查詢出來

  3.全連接full join,語法為full join ... on ...,全連接的查詢結果是左外連接和右外連接查詢結果的並集,即使一些記錄關聯不上,也能夠把部分信息查詢出來。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved