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

ORACLE的外連接

編輯:Oracle數據庫基礎

問:

Oracle 中 外連接 是什麼意思?

剛看了個教程還是不太明白
SELECT e.last_name, e.department_id, d.department_name
FROM employees e, departments d
WHERE e.department_id=d.department_id(+);

結果為:所有員工及對應部門的記錄,包括沒有對應部門編號department_id的員工記錄。

疑問:從數據庫中取出的是怎麼樣的?
是不是
employees 表中所有員工都取出,如:e.last_name, e.department_id全部都取出

department表中只取employees中員工對應的d.department_name

??

請大蝦們求教!

答:

這是外連接的一種,基本的執行流程就像你所說的。

以employees表為主來做連接,循環掃描employees表中所有員工,對於每一個員工如果在department中如果,有何他的部門號相同的部門,則進行連接生成一個新紀錄e.last_name, e.department_id,d.department_name。

如果沒有和部門號相同的部門,同樣生成一個新紀錄e.last_name, e.department_id,NULL。

注意這只是一個特例,因為是通過外鍵來做連接的,所以匹配的紀錄也只有一條。有的時候,匹配的記錄可能有多條。但是如果不匹配的話,則只有一條記錄進入結果。

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