Oracle中的外連線

2021-08-22 18:21:59 字數 1285 閱讀 3606

關聯的兩張表,當資料少的那張要在資料多的那張表字段裡,顯示為null時,就需要使用外連線。

在講外連線之前,先舉例介紹內連線,也就是一般的相等連線。

select * from a, b where a.id = b.id;

對於外連線,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中的外連線

關聯的兩張表,當資料少的那張要在資料多的那張表字段裡,顯示為null時,就需要使用外連線。在講外連線之前,先舉例介紹內連線,也就是一般的相等連線。select from a,b where a.id b.id 對於外連線,oracle中可以使用 來表示,9i可以使用left right full o...

Oracle外連線,左外連線,右外連線,內連線簡析

內連線即普通等值連線 select e.ename,e.job,e.sal,d.dname from emp e inner join dept d on e.deptno d.deptno where e.sal 2000 select e.ename e.job,e.sal d.dname fr...

oracle中的外連線簡單介紹

在講外連線之前,先舉例介紹內連線,也就是一般的相等連線。select from a,b where a.id b.id 對於外連線,oracle中可以使用 來表示,9i可以使 用left right full outer join,下面將配合例項一一介紹。1.left outer join 左外關聯...