Oracle左連線,右連線

2021-08-31 17:12:00 字數 1919 閱讀 9767

1. 內連線很簡單

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

select a.*, b.* from a inner join b on a.id = b.id

以上兩句是完全等價的

2. 左外連線

select * from emp a left join dept d on a.deptno=d.deptno

select * from emp a,dept d where a.deptno=d.deptno(+)

以上兩句是完全等價的

3. 右外連線

select * from emp a right join dept d on a.deptno=d.deptno

select * from emp a,dept d where a.deptno(+)=d.deptno

以上兩句是完全等價的

也就是說只要把語句中的錶換個位置,右外和左外就可以起到同樣的功能

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

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的員工記錄。

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

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

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的員工記錄和沒有任何員工的部門記錄。

sql--join之完全用法

外聯接。外聯接可以是左向外聯接、右向外聯接或完整外部聯接。

在 from 子句中指定外聯接時,可以由下列幾組關鍵字中的一組指定:

left join 或 left outer join。

左向外聯接的結果集包括 left outer 子句中指定的左表的所有行,而不僅僅是聯接列所匹配的行。如果左表的某行在右表中沒有匹配行,則在相關聯的結果集行中右表的所有選擇列表列均為空值。

oracle 左連線 右連線 全連線

select from tab1 left join tab2 on tab1.id tab2.id 左表全部展示 select from tab1 where tab1.id tab2.id 左表全部展示,放在右表,右表為匹配表,左表全展示 select from tab1 right join ...

Oracle 左連線和右連線

在oracle pl sql中,左連線和右連線以如下方式來實現 檢視如下語句 select emp name,dept name form employee,department where employee.emp deptid department.deptid 此sql文使用了右連線,即 所在...

oracle左連線,右連線查詢

oracle左連線,右連線查詢 在oracle pl sql中,左連線和右連線以如下方式來實現 www.2cto.com 檢視如下語句 select emp name,dept name form employee,department where employee.emp deptid depar...