輕鬆理解記憶oracle的左右外連線

2021-05-31 23:10:34 字數 1360 閱讀 3515

對於外連線,oracle中可以使用「(+)」來表示,9i可以使用left/right/full outer join,

下面將配合例項一一介紹。  

1. left outer join:左外關聯

select e.last_name, e.department_id, d.department_name

from employees e

left outer join departments d

on (e.department_id = d.department_id);

等價於

select e.last_name, e.department_id, d.department_name

from employees e, departments d

where e.department_id=d.department_id(+);

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

理解:左外關聯可以理解為「向左關聯」,位置在左邊的表保留全部字段,如果是(+)方式則(+)在右面

2. right outer join:右外關聯

select e.last_name, e.department_id, d.department_name

from employees e

right outer join departments d

on (e.department_id = d.department_id);

等價於
select e.last_name, e.department_id, d.department_name

from employees e, departments d

where e.department_id(+)=d.department_id;

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

理解:右外關聯可以理解為「向右關聯」,位置在右邊的表保留全部字段,如果是(+)方式則(+)在左面

3. full outer join:全外關聯

select e.last_name, e.department_id, d.department_name

from employees e

full outer join departments d

on (e.department_id = d.department_id);

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

oracle 左右連線外連線的理解

建立測試資料 create table a id number create table b id number insert into a values 1 insert into a values 2 insert into a values 3 insert into b values 1 i...

輕鬆搞定正規表示式 好理解好記憶

正規表示式專案經常用到,但是大部分程式設計師用的時候都是網上去找,很少有能自己寫出來,為什麼會這樣呢?其實原因我不大家也想到了,那玩意兒太難記了,咱一看,感覺沒有規律,要想記住甚是傷腦袋,現在好了,下面總結成一首打油詩,就好記多了,廢話不多說了,直接上菜了,正則其實也勢利,削尖頭來把錢揣 指開始符號...

oracle的左右連線語句

工作以來,碰到的第乙個oracle區別於sql server的地方,就是oracle的左右連線語句。這東西,還是舉個栗子來形容比較形象。乙個使用者表users user id,address 手機號碼表msisdns user id,msisdn 對於每乙個使用者,使用者表都有對應的id對應,但並不...